SQL Server 2014上的TRIM功能

时间:2015-02-22 11:11:00

标签: sql sql-server sqlite

IN SQLite我写道:

UPDATE MYTABLE SET MYFIELD = TRIM(MYFIELD);

如何在SQL Server 2014上执行此操作?

4 个答案:

答案 0 :(得分:5)

您需要功能LTRIM(从左侧修剪)和RTRIM(从右侧修剪):

UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD));

答案 1 :(得分:5)

UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD));

但是,字段类型必须是varchar()而不是text。 否则,您会得到“参数数据类型文本对于rtrim函数的参数1无效”

答案 2 :(得分:0)

你应该像这样使用LTRIM然后RTRIM函数 UPDATE MYTABLE SET MYFIELD = LTRIM(RTRIM(MYFIELD AS VARCHAR(SIZE))

答案 3 :(得分:0)

如果我们还想处理空格/不需要的标签:

检查并尝试以下脚本(已通过单元测试)-

--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;