繁体   English   中英

SQL - 提取 Substring

[英]SQL - Extract Substring

SQL 不太好,我对使用哪种表达方式有点坚持。 我在想一个“案例”可以在这里帮助我。

所以我有一个杂乱无章的数据集,其中包含混合信息。 我正在尝试编写一个 SQL 语句,该语句将仅提取包含以下格式文本的行:“ID [Int][Int][Int][Int][Int]”或“ID[Int][Int][整数][整数][整数]"。

ID # 始终为 5 个整数 [0-9]。 有时 ID 和 integer 的开头之间没有空格。

逻辑本质上是这样的:

  • 如果(名称)包含“ID 12345”,则在单独的列中返回“ID 12345”。
  • 如果(名称)包含“ID54321”,则在单独的列中返回“ID 54321”。

例子:

姓名 规范化名称
约翰·史密斯 ID 12345 编号 12345
你好 ID54321 你好 编号 54321

您能提供的任何帮助将不胜感激。 谢谢!

您可以像这样使用正则表达式:

SELECT *
FROM tablename
WHERE REGEXP_LIKE (Name, '(.)+ID( )+[0-9]+(.)+');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM