首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用椭圆截断nvarchar(max)到nvarchar(n)

用椭圆截断nvarchar(max)到nvarchar(n)
EN

Stack Overflow用户
提问于 2014-09-01 21:12:12
回答 2查看 2.8K关注 0票数 5

将nvarchar(max)转换为nvarchar(n)并表示有更多数据的最快方法是什么?

将列地址转换为nvarchar( 100 ),如果地址大于100个字符,则将最后3个字符替换为“.”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-01 21:18:48

代码语言:javascript
复制
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);
票数 3
EN

Stack Overflow用户

发布于 2014-09-01 21:19:48

代码语言:javascript
复制
UPDATE Table
 SET [Address] =   CASE 
                       WHEN LEN([Address]) > 100 
                       THEN CAST([Address] AS NVARCHAR(97)) + N'...'
                       ELSE CAST([Address] AS NVARCHAR(100)) 
                   END

现在,更改列的数据类型,因为超过100个字符的所有数据都将在上述语句之后被截断。

代码语言:javascript
复制
ALTER TABLE TableName
ALTER COLUMN [Address] NVARCHAR(100)
GO
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25612969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档