[英]Sql query to convert nvarchar to int
我必須使用聚合函數查詢列的總量。 列數據類型是NVARCHAR(MAX)。 如何將其轉換為整數?
我試過這個:
SELECT SUM(CAST(amount AS INT)),
branch
FROM tblproducts
WHERE id = 4
GROUP BY branch
......但我得到了:
將nvarchar值'3600.00'轉換為數據類型int時轉換失敗。
3600.00不是整數所以CAST通過浮動優先
sum(CAST(CAST(amount AS float) AS INT))
編輯:
為何漂浮?
除了gbn的答案,你還需要防范非數字案例:
sum(CASE WHEN ISNUMERIC(Amount)=1 THEN CAST(CAST(amount AS float) AS INT)END )
SELECT sum(Try_Parse(金額為Int使用'en-US')),分支FROM tblproducts
WHERE id = 4 GROUP BY分支
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.