Select Substr(<<COLUMN NAME>>, 1,(PosStr(<<COLUMNNAME>>, ' ') -1))
From <<TABLE NAME>>;
这里的声明有助于删除空格以及后面的所有字符 - 这很好,这就是我正在寻找的......但它是一个选择的声明,只返回一个列表。
有人可以将此更改为UPDATE语句吗? (DB2)
更多信息......例如,如果我有,
NAME
teddy longmore
theadore rosavelt
some body
我希望删除第一个WHITESPACE之后的所有角色
我该如何使用SQL?
答案 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