2016-08-04 14 views
0

Ich habe eine Spalte 'Value' von sql_variant type. Es hat den WertTry_casting einer Sql_variant-Spalte, die den Wert nach einem Komma abschneidet

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

Wenn ich

TRY_CAST([Value] AS nvarchar) as varvalue 

ich den Wert bekommen zu wählen versuchen

Device Warning: Bus Transient, 

Wie können wir, ohne zu verlieren einige Daten ein sql_variant Typ umwandeln? Ich musste es in einen Nvarchar konvertieren, da ich eine SUBSTING-Funktion verwenden muss, um Teile des Werts zu extrahieren.

Jede Hilfe würde sehr geschätzt werden !!!

+2

gut, nur versuchen, eine tatsächliche Länge zu 'nvarchar' geben:' TRY_CAST ([Wert] AS nvarchar (2000)) als varvalue' – Lamak

Antwort

1

nchar and nvarchar (Transact-SQL)

Bemerkungen
Wenn n in einer Datendefinition oder variable Deklarationsanweisung nicht angegeben ist, ist die Standard-Länge 1 Wenn n mit der CAST-Funktion nicht angegeben wird, die Standardlänge ist 30.

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

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

eine Länge angeben.

QED

+0

nett, hätte nicht gedacht, auf die Dokumentation des Gehens – Lamak