我写了一个查询,其中我提取的金额是'50,000','80,000'。
select Price_amount
from per_prices
由于这些值包含',',因此这些值被视为varchar
。要求是将这些值打印为带有','的数字'
这是怎么可以'50,000'被视为数字而不是varchar
答案 0 :(得分:1)
如果某个值中包含除数字以外的任何值,则它不是整数,而是包含字符的字符串。在您的情况下,您有一个包含字符5
,0
和,
的字符串。
如果这是您的数据库中存储的内容,这是您想要显示的内容,那么请继续将其更改为Integer或其他任何内容。但是如果您在显示这些值之前对这些值进行一些计算,那么您需要将它们更改为整数值。做计算。将它们更改回varchar数据类型以显示数千到数十万之间的,
并显示/选择它们。
示例强>
DECLARE @TABLE TABLE (ID INT, VALUE VARCHAR(100))
INSERT INTO @TABLE VALUES
(1, '100,000'),(2, '200,000'),(3, '300,000'),(4, '400,000'),
(1, '100,000'),(2, '200,000'),(3, '300,000'),(4, '400,000')
SELECT ID, SUM(
CAST(
REPLACE(VALUE, ',','') --<-- Replace , with empty string
AS INT) --<-- Cast as INT
) AS Total --<-- Now SUM up Integer values
FROM @TABLE
GROUP BY ID
答案 1 :(得分:0)