更新带有字符串前缀的列
Update column with String prefix
我正在尝试 UPDATE
一个名为 INV_SUPPLIER
的列,如果该列不是以 ES
开头,我必须将 ES
前缀添加到 INV_SUPPLIER
并且不包含 NO_VALIDO
AND IS NOT NULL
列声明:
可空默认值
INV_SUPPLIER VARCHAR2(32 BYTE) 是
当我select:
SELECT *
FROM
EFAC_INVOICE f
WHERE
f.INV_SUPPLIER NOT LIKE 'ES%'
AND
f.INV_SUPPLIER NOT LIKE 'NO_VALIDO'
AND
f.INV_SUPPLIER IS NOT NULL;
似乎给了我正确的数据。
但是当我尝试更新时:
UPDATE EFAC_INVOICE f
SET
f.INV_SUPPLIER='ES'+f.INV_SUPPLIER
WHERE
f.INV_SUPPLIER NOT LIKE 'ES%'
AND
f.INV_SUPPLIER NOT LIKE 'NO_VALIDO'
AND
f.INV_SUPPLIER IS NOT NULL;
但抛出错误:
Error SQL: ORA-01722: número no válido
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
知道我哪里错了吗???
使用 ||
在 oracle 中连接。在 SQL 服务器中使用 +
。在上次检查之前你还有一个额外的;
我正在尝试 UPDATE
一个名为 INV_SUPPLIER
的列,如果该列不是以 ES
开头,我必须将 ES
前缀添加到 INV_SUPPLIER
并且不包含 NO_VALIDO
AND IS NOT NULL
列声明: 可空默认值 INV_SUPPLIER VARCHAR2(32 BYTE) 是
当我select:
SELECT *
FROM
EFAC_INVOICE f
WHERE
f.INV_SUPPLIER NOT LIKE 'ES%'
AND
f.INV_SUPPLIER NOT LIKE 'NO_VALIDO'
AND
f.INV_SUPPLIER IS NOT NULL;
似乎给了我正确的数据。
但是当我尝试更新时:
UPDATE EFAC_INVOICE f
SET
f.INV_SUPPLIER='ES'+f.INV_SUPPLIER
WHERE
f.INV_SUPPLIER NOT LIKE 'ES%'
AND
f.INV_SUPPLIER NOT LIKE 'NO_VALIDO'
AND
f.INV_SUPPLIER IS NOT NULL;
但抛出错误:
Error SQL: ORA-01722: número no válido
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
知道我哪里错了吗???
使用 ||
在 oracle 中连接。在 SQL 服务器中使用 +
。在上次检查之前你还有一个额外的;