將nvarchar(max)轉換爲nvarchar(n)並指示有更多數據的最快方法是什麼?使用省略號將nvarchar(max)截斷爲nvarchar(n)
如:轉換列地址來爲nvarchar(100),如果地址大於100個字符,然後用替換最後3個字符「...」
將nvarchar(max)轉換爲nvarchar(n)並指示有更多數據的最快方法是什麼?使用省略號將nvarchar(max)截斷爲nvarchar(n)
如:轉換列地址來爲nvarchar(100),如果地址大於100個字符,然後用替換最後3個字符「...」
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);
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)
GO
它不應該是'當LEN([地址])> 100'嗎? – Lamak 2014-09-01 21:27:07
那麼,這將是97個字符和「...」? – Lamak 2014-09-01 21:13:03
@Lamak是的,這是正確的 – James 2014-09-01 21:18:21
應該在字符數中包含尾部空格嗎? – Laurence 2014-09-01 21:27:43