我常忘記像A1-123這種要怎麼分開截-_-,只好來做筆記了... 首先,介紹一下CHARINDEX這個用法,CHARINDEX('-','A1-123')就是算到-前的字元數,所以說SELECT CHARINDEX('-','A1-123') 結果會是3。 所以如果我要取A1的話(也就是-之前的字串),我只需這樣寫:SUBSTRING('A1-123',0,CHARINDEX('-','A1-123')) 如果是要取123,我需要這樣寫:SUBSTRING('A1-123',CHARINDEX('-','A1-123'),LEN('A1-123')) 這句語法就是說,把A1-123從-之後取,其中CHARINDEX就是從3開始取,取到A1-123的最後一個字(長度就會等於最後一個字的位子...不過應該會多1?)。 因為SUBSTRING是從0開始,所以3就會是1而不是-。(經實驗發現這邊應該是錯的...) 如果各位有更好建議或者是我有誤寫的地方,再請多多指教囉!感謝。 後來我發現SUBSTRING('A1-123',CHARINDEX('-','A1-123')+1,LEN('A1-123'))才是正確的寫法.....
創作者介紹
創作者 阿敏碎碎念 的頭像
FlairMing

阿敏碎碎念

FlairMing 發表在 痞客邦 留言(1) 人氣( 10134 )