1
我有一個ITEM表和一個ITEM列。他們都是一個字符串。一些示例性的產品在此列可以是:SQL - 基於'位於第N和第N個分隔符之間的單獨字符串'
AAA-BBB-CCC.B.S
AAA-BBB-CCC.B.M
BAA-123A-DDDD.01.28
BAA-123A-DDDD.20.28
CCC-AACD-CCDD.MB.28.L
CCC-AACD-CCDD.MB.29.L
CCC-AACD-CCDD.FC.28.R
CCC-AACD-CCDD.FC.29.R
- 第一3份(用連字符分隔)是產品代碼
- 任何在第一和第二週期之間的顏色
- 第二階段之後但第三階段之前(如果第三階段實際存在)的任何內容是項目大小
- 如果存在第三階段,那麼之後的任何內容都是item fit(例如:牛仔褲與S/R/L腿長)
我想分開這些元素到單獨的列,但我掙扎由於「不總是存在」項適合屬性,以及「在x之後但在y之前「試圖將數據分離的本質。到目前爲止,我已經得到了下面的內容,它可以獲得項目的大小,但是如果有一個合適的禮物,那麼它會得到它,這使得它不是很有用。
這是在SQL Server Management Studio中2016年
SELECT ITEM
,RIGHT(ITEM, CHARINDEX('.',REVERSE(ITEM)) -1) 'Size'
FROM ITEM
這絕對完美的作品,非常感謝! – Smeghead
@Smeghead快樂它幫助 –
對不起,我遇到了另一個道路顛簸與這些數據。 我們也有類似襯衫和鞋子的東西,只有一半大小,令人討厭的是這些也被分割了一段時間,但最終並不合適,例如[AAA-BBB-CCC.BLK.16.5]的大小應該是' 16.5'襯衫。 有沒有什麼方法可以有條件地分割它,所以「IF I.ITEM LIKE'%。%。%。5'分成5列,ELSE分成6列」? 我試着用2個OUTER APPLY語句作爲2個場景,但是分成5列的那些只是在這些列中返回NULL。 – Smeghead