[英]How to convert nvarchar to numeric in SQL Server
如何將nvarchar
轉換為numeric
?
我收到此錯誤:
將數據類型 nvarchar 轉換為數字時出錯。
這是我的查詢
SELECT
strIpay88Amt,
CONVERT(NUMERIC(18, 2), strIpay88Amt) AS iPay
FROM
tblCurrTrxMaster
假設 strIpay88Amt 列中有字符串值。 您可以使用以下內容僅轉換數值。
select cast(strIpay88Amt as numeric) from tblCurrTrxMaster
where ISNUMERIC(strIpay88Amt) = 1
然后獲取字符串值。
select strIpay88Amt from tblCurrTrxMaster where ISNUMERIC(strIpay88Amt) = 0
嘗試強制轉換語法:
SELECT strIpay88Amt, CAST(strIpay88Amt AS NUMERIC) AS iPay FROM tblCurrTrxMaster
您的表格中必須有一些不是有效數字的條目,因此您的轉換失敗 - 這是理所當然的。
所以為了找到這些條目,你可以試試這個:
SELECT
strIpay88Amt,
TRY_CONVERT(NUMERIC(18, 2), strIpay88Amt) AS iPay
FROM
dbo.tblCurrTrxMaster
WHERE
TRY_CONVERT(NUMERIC(18, 2), strIpay88Amt) IS NULL
這將使用TRY_CONVERT
函數來嘗試轉換 - 並且使用此WHERE
子句,您將只會取回所有無法轉換為有效NUMERIC
條目。
雖然NULL
會正確地“轉換”為數字,但例如空字符串( ''
)已經會導致錯誤......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.