簡體   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