将nvarchar(max)转换为nvarchar(n)并表示有更多数据的最快方法是什么?
将列地址转换为nvarchar( 100 ),如果地址大于100个字符,则将最后3个字符替换为“.”
发布于 2014-09-01 21:18:48
UPDATE t
SET t.Address = SUBSTRING(t.Address, 1, 97) + '...'
FROM TableName t
WHERE LEN(t.Address) > 100;
ALTER TABLE dbo.TableName
ALTER COLUMN Address NVARCHAR (100);发布于 2014-09-01 21:19:48
UPDATE Table
SET [Address] = CASE
WHEN LEN([Address]) > 100
THEN CAST([Address] AS NVARCHAR(97)) + N'...'
ELSE CAST([Address] AS NVARCHAR(100))
END现在,更改列的数据类型,因为超过100个字符的所有数据都将在上述语句之后被截断。
ALTER TABLE TableName
ALTER COLUMN [Address] NVARCHAR(100)
GOhttps://stackoverflow.com/questions/25612969
复制相似问题