2016-08-04 43 views
0

我有一个sql_variant类型的'Value'列。它具有价值Try_casting在逗号后截断值的Sql_variant列

'Device Warning: Bus Transient, Warning Code: 164, Timestamp: 2015-12-23 13:02:48.750' 

如果我尝试选择

TRY_CAST([Value] AS nvarchar) as varvalue 

我得到

Device Warning: Bus Transient, 

我们怎样才能投出SQL_VARIANT型,而不会丢失一些数据的价值?我需要将它转换为nvarchar,因为我需要使用SUBSTING函数来提取部分值。

任何帮助将不胜感激!

+2

那么,就试着给的实际长度,以你的'nvarchar':'TRY_CAST([超值] AS为nvarchar(2000))作为varvalue' – Lamak

回答

1

nchar and nvarchar (Transact-SQL)

备注
当在数据定义或变量声明语句中指定n,则默认长度为1 当不与CAST功能,默认长度指定n是30

1> select len('Device Warning: Bus Transient,') 
2> go 

----------- 
     30 

指定的长度。

QED

+0

不错,没想到要去文档 – Lamak