假设我有nvarchar(300)
列。SQL Server - 附加旋转文本字段
我追加文本,如下所示:
update tablename set fieldname = fieldname + 'appended string'
我怎么能告诉SQL Server自动修剪从开始的文本,以确保它不会超过最大列长度?
假设我有nvarchar(300)
列。SQL Server - 附加旋转文本字段
我追加文本,如下所示:
update tablename set fieldname = fieldname + 'appended string'
我怎么能告诉SQL Server自动修剪从开始的文本,以确保它不会超过最大列长度?
您可以使用该功能RIGHT
:
update tablename set fieldname = RIGHT(fieldname + N'appended string', 300)
@LoveDotNet我认为它从一开始就真正修剪,你的例子显示了这一点。 – GolfWolf 2013-02-24 21:30:11
那么为什么它以“stringappended string”结尾?它不应该总是以“stringappended”结尾吗? – SharpAffair 2013-02-24 21:34:03
@LoveDotNet如果它只是从头开始修剪,那么最后应该保持原样,它应该是“”附加字符串“' – GolfWolf 2013-02-24 21:35:54
如果你处理的** **的Unicode在SQL Server中字符串(和'nvarchar'是Unicode) - 你应该总是使用' N'...''符号 - 例如'更新表名设置fieldname = fieldname + N'appended string'',以清楚说明你的字符串文字是Unicode ... – 2013-02-24 21:15:05