Reputation: 26961
Im triying to UPDATE
a column named INV_SUPPLIER
, I must add ES
prefix to INV_SUPPLIER
if the column does not start with ES
AND does not contain NO_VALIDO
AND IS NOT NULL
Column declaration: Nullable Default INV_SUPPLIER VARCHAR2(32 BYTE) Yes
When I 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;
Seems to give me the correct data.
But when I tri to update:
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;
But throws me the error:
Error SQL: ORA-01722: número no válido
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
Any idea where I'm wrong???
Upvotes: 0
Views: 1264
Reputation: 35323
use ||
to concat in oracle. use +
in SQL server. you also have an extra ;
before your last check
Upvotes: 2