Oracle SQL 字符串以“987”或“I”开头

Posted

技术标签:

【中文标题】Oracle SQL 字符串以“987”或“I”开头【英文标题】:Oracle SQL String starts with ‘987’ or ‘I’ 【发布时间】:2020-01-07 18:59:49 【问题描述】:

我正在使用 Oracle SQL Developer。我需要找到 column1 以“987”或“I”开头的行。 Column1 是一个字符串 (18)。此列中的一些示例模式包括:9(9)、9(12) 等。我不熟悉查看列如何以 Oracle SQL 中的某些值开头的代码。示例代码如下。在下面尝试。

代码

select * from table1
where column1

尝试代码

SELECT
  REGEXP_SUBSTR(column1,
                '987') "REGEXP_SUBSTR"
  FROM table1;

【问题讨论】:

你熟悉SQL "like" operator吗? 【参考方案1】:

您只需要使用LIKE

select * 
from table1
where column1 like '987%' or column1 like 'I%';

【讨论】:

【参考方案2】:

您可以为此使用正则表达式:

where regexp_like(column1, '^(987|I)')

【讨论】:

这个应该标记为更方便的答案。【参考方案3】:

创建表 hs(WH VARCHAR2(100));

选择 * 从 hs 在哪里 REGEXP_LIKE(WH,'^987|^I', 'i') 由 WH 订购;

【讨论】:

以上是关于Oracle SQL 字符串以“987”或“I”开头的主要内容,如果未能解决你的问题,请参考以下文章

动态分配变量oracle sql

用sql语句处理字符串以逗号截开分别获取值

拆分2列中的特殊字符并在oracle中合并为多行

SQL 通配符

oracle如何实现远程连接

SQL Oracle 中的通配符 [重复]