[英]TRIM function on SQL Server 2014
IN SQLite I wrote :在 SQLite 我写道:
UPDATE MYTABLE SET MYFIELD = TRIM(MYFIELD);
What to do to have this on SQL Server 2014 ?如何在 SQL Server 2014 上使用它?
UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD));
However, field type must be varchar() and not text.但是,字段类型必须是 varchar() 而不是文本。 Otherwise you get "Argument data type text is invalid for argument 1 of rtrim function"否则你会得到“参数数据类型文本对于 rtrim 函数的参数 1 无效”
您需要函数LTRIM
(从左侧修剪)和RTRIM
(从右侧修剪):
UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD));
你应该使用 LTRIM 然后 RTRIM 函数像这样 UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD AS VARCHAR(SIZE))
If we also want to handle white spaces/unwanted tabs:如果我们还想处理空格/不需要的选项卡:
Check and Try the below script ( Unit Tested )-检查并尝试以下脚本(单元测试)-
--Declaring
DECLARE @Tbl TABLE(col_1 VARCHAR(100));
--Test Samples
INSERT INTO @Tbl (col_1)
VALUES
(' EY y
Salem')
, (' EY P ort Chennai ')
, (' EY Old Park ')
, (' EY ')
, (' EY ')
,(''),(null),('d
f');
SELECT col_1 AS INPUT,
LTRIM(RTRIM(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(col_1,CHAR(10),' ')
,CHAR(11),' ')
,CHAR(12),' ')
,CHAR(13),' ')
,CHAR(14),' ')
,CHAR(160),' ')
,CHAR(13)+CHAR(10),' ')
,CHAR(9),' ')
,' ',CHAR(17)+CHAR(18))
,CHAR(18)+CHAR(17),'')
,CHAR(17)+CHAR(18),' ')
)) AS [OUTPUT]
FROM @Tbl;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.