【问题标题】:Trying to return only part of a string in SQL试图在 SQL 中只返回字符串的一部分
【发布时间】:2017-10-05 10:03:26
【问题描述】:

我目前有以下查询:

SELECT SPEAKERNAME, 
       SUBSTR(SPEAKERADDRESS, CHARINDEX('-', SPEAKERADDRESS), 4)
  FROM SPEAKER;

我很想只返回来自 SPEAKERADDRESS 的邮政编码,并且邮政编码总是在“-”之后,但我收到 CHARINDEX 的无效标识符 (ORA-00904) 错误

【问题讨论】:

  • 您在Oracle manual 的哪个位置找到charindex()
  • 你可以为那个和预期的 o/p 添加示例数据
  • Oracle 没有CHARINDEX,请改用INSTRsqlines.com/oracle/functions/instr
  • 2113 和地址都是不同的长度,但这总是 4 位数字

标签: sql oracle substring


【解决方案1】:

您可以使用SUBSTRINSTR

SELECT SPEAKERNAME, 
       SUBSTR(SPEAKERADDRESS, instr(SPEAKERADDRESS, '-')+1 ,4)
  FROM SPEAKER;

检查Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多