0
使用SQL Server,我已經在一個表中的列如下數據:選擇從一個字符串字段串XXXX
NFPA 1: 4.5.8.1, SFM 69A-21
NFPA 101:7.2.1.8.
NFPA 1 14.13.1.1*
NFPA 101 7.2.1.15.8
NFPA 1 13.6.9.3.1.1.1
NFPA 101:7.1.3.2.1 (6)
?NFPA ?1 14?.?6?.?3?*
我想選擇只是XXXX(.X)(X)記錄等有一段時間的序列。我還想在輸出中顯示x.x.x.x。(.x)(.x)等數據,而不是在期間之前或之後顯示數據。例如,從上面的數據,以下將顯示爲sql select的輸出:
4.5.8.1
7.2.1.8
14.13.1.1
7.2.1.15.8
13.6.9.3.1.1.1
7.1.3.2.1
[THIS RECORD WOULD NOT BE SELECTED BECAUSE THE DATA IS NOT IN THE FORMAT: ?NFPA ?1 14?.?6?.?3?*]
任何幫助,將不勝感激先謝謝。
UPDATE:請檢查SQL小提琴:
**更新#2 **:至今沒有答案,希望有人可以提供幫助。
'like'%[0-9]。[0-9]。[0-9]。[0-9]%'' –
您的示例輸出中最後返回的值會如何返回?它不符合該模式,因爲在101之後有一個冒號,而不是一段時間。如果它有效,請更新您的模式。如果無效,請修正樣本輸出。 –
只是一個警告:SQL在處理需要提取的文本時相對較差。它可以做到這一點,但是因爲SQL的設計強調字段應該是原子的(第一範式),所以你會爲此而掙扎。您可能通過'PATINDEX'(需要全文索引)或者使用CLR函數獲得成功,但是您的最佳選擇是在a)您的應用程序中處理此問題,或者b)通過將必要數據存儲在單獨的字段中它是自己的實體。 –