[英]SQL / REGEX pattern matching
我想通過sql使用正則表達式來查詢一些數據以返回值。 以下返回的唯一有效值將是“ GB”和“ LDN”,或者也可以是“ GB-LDN”
G-GB-LDN-TT-TEST
G-GB-LDNN-TT-TEST
G-GBS-LDN-TT-TEST
在寫入時,第一個GB集需要特定地包含2個字符,而LDN需要特定地具有3個字符。 兩組/組均以-符號分隔。 我有點需要提取數據,但同時確保它在該模式之內。 我看了一下正則表達式,但看不到該怎么做,就像子字符串一樣,但我看不到它。
如果我正確理解,您仍然可以使用substring()
函數提取由-
分隔的字符串部分。
select left(parsename(a.string, 3), 2) +'-'+ left(parsename(a.string, 2) ,3) from
(
select replace(substring(data, 1, len(data)-charindex('-', reverse(data))), '-', '.') [string] from <table>
) a
如上所述,您還可以定義提取的字符串的長度。
結果:
GB-LDN
GB-LDN
GB-LDN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.