DB2更新 - 删除空格后的所有字符

时间:2013-04-16 15:24:34

标签: sql db2 whitespace removing-whitespace

Select Substr(<<COLUMN NAME>>, 1,(PosStr(<<COLUMNNAME>>, ' ') -1)) 
From <<TABLE NAME>>;

这里的声明有助于删除空格以及后面的所有字符 - 这很好,这就是我正在寻找的......但它是一个选择的声明,只返回一个列表。

有人可以将此更改为UPDATE语句吗? (DB2)


更多信息......例如,如果我有,

NAME

teddy longmore

theadore rosavelt

some body

我希望删除第一个WHITESPACE之后的所有角色

我该如何使用SQL?

2 个答案:

答案 0 :(得分:1)

你已经在那里了,只需将已有的命令添加到UPDATE

UPDATE your_table
   SET name = SUBSTR(name, 1,(POSSTR(name, ' ') -1));

演示:

DECLARE GLOBAL TEMPORARY TABLE SESSION.TEXT_TEST (
    NAME VARCHAR(50)
) ON COMMIT PRESERVE ROWS;

INSERT INTO SESSION.TEXT_TEST (
    SELECT 'teddy longmore' FROM SYSIBM.SYSDUMMY1 UNION ALL 
    SELECT 'theadore rosavelt' FROM SYSIBM.SYSDUMMY1 UNION ALL 
    SELECT 'some body' FROM SYSIBM.SYSDUMMY1
);

SELECT name
FROM SESSION.TEXT_TEST;

UPDATE SESSION.TEXT_TEST
   SET NAME = SUBSTR(name, 1,(POSSTR(name, ' ') -1));

SELECT name
FROM SESSION.TEXT_TEST;

答案 1 :(得分:0)

语法为

UPDATE mytable
    SET col = expression
    WHERE conditional-expression