【问题标题】:Update column with String prefix使用字符串前缀更新列
【发布时间】:2015-05-27 16:15:12
【问题描述】:

我正在尝试UPDATE 一个名为INV_SUPPLIER 的列,如果该列不以ES 开头并且不包含NO_VALIDOIS NOT NULL,我必须在INV_SUPPLIER 中添加ES 前缀

列声明: 可空的默认值 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úmero no válido
01722. 00000 - “无效号码”
*原因:指定的号码无效。
*操作:指定一个有效的数字。

知道我哪里错了吗???

【问题讨论】:

  • 什么关系型数据库?在 oracle 中使用 || 连接。在 SQL 服务器中使用 +。你也有一个;在您最后一次检查之前。
  • 爱你@xQbert!我只在 SQL 中找到 + 来连接...将其发布为答案!!!

标签: sql sql-update oracle-sqldeveloper


【解决方案1】:

在 oracle 中使用 || 连接。在 SQL 服务器中使用 +。在最后一次检查之前,您还有一个额外的;

【讨论】:

  • 还剩 11 分钟接受... ;) 谢谢!!我今天会准时下班yy
猜你喜欢
  • 2023-04-05
  • 2018-03-17
  • 2016-04-28
  • 2023-03-10
  • 2013-11-30
  • 2013-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多