Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server-附加带旋转的文本字段_Sql Server_Append_Log Rotation - Fatal编程技术网

Sql server SQL Server-附加带旋转的文本字段

Sql server SQL Server-附加带旋转的文本字段,sql-server,append,log-rotation,Sql Server,Append,Log Rotation,假设我有nvarchar(300)列 我将案文附加如下: update tablename set fieldname = fieldname + 'appended string' 我如何告诉SQL Server从一开始就自动修剪文本,以确保它不会超过最大列长度?您可以使用该功能: update tablename set fieldname = RIGHT(fieldname + N'appended string', 300) 您可以使用该功能进行以下操作: update tablen

假设我有
nvarchar(300)

我将案文附加如下:

update tablename set fieldname = fieldname + 'appended string'
我如何告诉SQL Server从一开始就自动修剪文本,以确保它不会超过最大列长度?

您可以使用该功能:

update tablename set fieldname = RIGHT(fieldname + N'appended string', 300)
您可以使用该功能进行以下操作:

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

如果您在SQL Server中处理Unicode字符串文字(并且
nvarchar
是Unicode)-如果您在SQL Server中处理Unicode字符串文字(并且
nvarchar
是Unicode),则应始终使用
N'…'
符号-例如
update tablename set fieldname=fieldname+N'added string'
,以明确您的字符串文字是Unicode的-您应该始终使用
N'…'
符号-例如
updatetablename set fieldname=fieldname+N'added string'
来明确您的字符串文字是Unicode…@LoveDotNet我认为它确实从一开始就修剪了,您的示例正好显示了这一点。那么为什么它以“StringAdded string”结尾呢?它不应该总是以“stringappended”结尾吗?@LoveDotNet如果它只是从开头修剪,那么结尾应该保持不变,并且应该是
“追加字符串”
@LoveDotNet想象一下你已经将字符串连接了三次:
“追加字符串追加字符串”
。现在,如果你从一开始就修剪了9个字符,它会是什么样子?@LoveDotNet我认为它确实从一开始就修剪了,你的例子正好说明了这一点。那么为什么它以“stringappended string”结尾呢?它不应该总是以“stringappended”结尾吗?@LoveDotNet如果它只是从开头修剪,那么结尾应该保持不变,并且应该是
“追加字符串”
@LoveDotNet想象一下你已经将字符串连接了三次:
“追加字符串追加字符串”
。现在,如果你从一开始就修剪了9个字符,它会是什么样子?