2013-02-24 94 views
1

假設我有nvarchar(300)列。SQL Server - 附加旋轉文本字段

我追加文本,如下所示:

update tablename set fieldname = fieldname + 'appended string' 

我怎麼能告訴SQL Server自動修剪從開始的文本,以確保它不會超過最大列長度?

+1

如果你處理的** **的Unicode在SQL Server中字符串(和'nvarchar'是Unicode) - 你應該總是使用' N'...''符號 - 例如'更新表名設置fieldname = fieldname + N'appended string'',以清楚說明你的字符串文字是Unicode ... – 2013-02-24 21:15:05

回答

1

您可以使用該功能RIGHT

update tablename set fieldname = RIGHT(fieldname + N'appended string', 300) 
+0

@LoveDotNet我認爲它從一開始就真正修剪,你的例子顯示了這一點。 – GolfWolf 2013-02-24 21:30:11

+0

那麼爲什麼它以「stringappended string」結尾?它不應該總是以「stringappended」結尾嗎? – SharpAffair 2013-02-24 21:34:03

+0

@LoveDotNet如果它只是從頭開始修剪,那麼最後應該保持原樣,它應該是「」附加字符串「' – GolfWolf 2013-02-24 21:35:54