在 SQLServer2017中,可以使用此语法,但在早期版本中不能使用:
SELECT Name = TRIM(Name) FROM dbo.Customer;
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer
要在右边修剪,使用:
SELECT RTRIM(Names) FROM Customer
要修剪左侧,请使用:
SELECT LTRIM(Names) FROM Customer
要修剪两边,使用:
SELECT LTRIM(RTRIM(Names)) FROM Customer
我想这是一次性的数据清理练习。一旦完成,确保添加数据库约束以防止将来出现错误数据,例如。
ALTER TABLE Customer ADD CONSTRAINT customer_names__whitespace CHECK ( Names NOT LIKE ' %' AND Names NOT LIKE '% ' AND Names NOT LIKE '% %' );
还要考虑禁止其他可能导致问题的字符(制表符、回车符、换行符等)。
也可以把这些名称分成 family_name、 first_name等等:)
family_name
first_name
在 sql server 2008 r2中,我们使用 ssis 表达式实现了装饰函数。
SQL Server IntegrationServices (SSIS)是 Microsoft SQL Server 数据库软件的一个组件,可用于执行广泛的数据迁移任务。
您可以在这个链接上找到完整的描述
Http://msdn.microsoft.com/en-us/library/ms139947.aspx
但是这个函数本身有一些限制,这也是 msdn 在该页面中提到的。 但这是在 Sql 服务器2008 r2
TRIM(" New York ") .The return result is "New York".
SELECT LTRIM(RTRIM(Replace(Replace(Replace(name,' ',' '),CHAR(13), ' '),char(10), ' '))) from author
“替换”的扩展版本:
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(REPLACE("Put in your Field name", ' ',' '))),'''',''), CHAR(9), ''), CHAR(10), ''), CHAR(13), ''), CHAR(160), '') [CorrValue]
要修剪字符串开头和结尾的任何字符集,可以执行以下代码,其中@TrimPattern 定义要修剪的字符。在这个例子中,空格、制表符、 LF 和 CR 字符被修剪:
Declare@TEST nvarchar (50) = Concat (’’,char (9) ,char (13) ,char (10) ,’’,‘ TEST’,’,char (9) ,char (10) ,char (13) ,’’,‘ TEST’,’,’,char (9) ,char (13) ,’)
DECLARE@TrimPattern nvarchar (max) =’% [ ^’+ char (9) + char (13) + char (10) +’]%’
SELECT SUBSTRING (@Test,PATINDEX (@TrimPattern,@Test) ,LEN (@Test)-PATINDEX (@TrimPattern,@Test)-PATINDEX (@TrimPattern,LTRIM (REVERSE (@Test))) + 2)
从客户处选择替换(名称,’,”)