sqlserver把nvarchar转换为numeric
时间: 2024-02-10 08:10:35 浏览: 391
在SQL Server中,可以使用CAST或CONVERT函数将nvarchar类型的值转换为numeric类型。语法如下:
```
SELECT CAST(nvarchar_column AS NUMERIC(p, s)) AS numeric_column
FROM table_name
```
其中,nvarchar_column是要转换的nvarchar类型的列名,NUMERIC(p, s)是要转换为的numeric类型的数据类型,p表示精度,s表示小数位数。注意,p和s必须是整数,并且p必须大于等于s。
例如,将nvarchar类型的列nvar_col转换为numeric类型,精度为10,小数位数为2,可以使用以下语句:
```
SELECT CAST(nvar_col AS NUMERIC(10, 2)) AS numeric_col
FROM my_table
```
如果要避免出现算术溢出错误,可以使用TRY_CAST或TRY_CONVERT函数进行转换。语法如下:
```
SELECT TRY_CAST(nvarchar_column AS NUMERIC(p, s)) AS numeric_column
FROM table_name
```
或者:
```
SELECT TRY_CONVERT(NUMERIC(p, s), nvarchar_column) AS numeric_column
FROM table_name
```
这些函数在转换失败时返回NULL,而不是引发错误。
阅读全文