我正在试用UPDATE
名为INV_SUPPLIER
的列,如果列不以ES
开头,我必须向INV_SUPPLIER
添加ES
前缀包含NO_VALIDO
和IS NOT NULL
列声明: 可以为空的默认值 INV_SUPPLIER VARCHAR2(32 BYTE)是
当我选择:
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;
但是却抛出了错误:
错误SQL:ORA-01722:númeronoválido
01722. 00000 - “无效号码”
*原因:指定的号码无效 *操作:指定有效数字。
知道我哪里错了???
答案 0 :(得分:1)
使用||
在oracle中连接。在SQL Server中使用+
。在上次检查之前,您还需要额外;