首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server 2008中裁切文本字符串

问在SQL Server 2008中裁切文本字符串
EN

Stack Overflow用户
提问于 2010-08-15 19:51:00
回答 7查看 142.5K关注 0票数 46

我在SQL Server 2008数据库中有一个表。该表有一个名为'Name‘的nvarchar(256)列。遗憾的是,此字段中的值包含额外的空格。例如,名字'Bill‘实际上在表中存储为'Bill’。

我想要更新这个表中的所有记录,以删除多余的空格。然而,我很惊讶地发现SQL没有TRIM函数。

如何一次更新所有记录以删除多余的空格?

谢谢!

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-08-15 19:53:16

您确实有一个RTRIM和一个LTRIM函数。您可以将它们组合在一起,以获得所需的trim函数。

代码语言:javascript
复制
UPDATE Table
SET Name = RTRIM(LTRIM(Name))
票数 100
EN

Stack Overflow用户

发布于 2010-08-15 19:54:13

您可以使用RTrim函数从右侧修剪所有空格。使用LTrim从左侧修剪所有空格。例如

代码语言:javascript
复制
UPDATE Table SET Name = RTrim(Name)

或者同时用于左右修剪

代码语言:javascript
复制
UPDATE Table SET Name = LTrim(RTrim(Name))
票数 16
EN

Stack Overflow用户

发布于 2010-08-15 20:01:43

SQL Server没有TRIM函数,而是有两个。一个用于专门修剪字符串“前面”的空格(LTRIM),另一个用于修剪字符串“末端”的空格(RTRIM)。

下面的代码将更新表中的每条记录,修剪varchar/nvarchar字段的所有无关空格(前面或结尾):

代码语言:javascript
复制
UPDATE 
   [YourTableName]
SET
   [YourFieldName] = LTRIM(RTRIM([YourFieldName]))

(奇怪的是,SSIS (Sql Server Integration Services)确实只有一个TRIM函数!)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3487233

复制
相关文章

相似问题

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