? ? ?? 有時(shí)我們會(huì)臨時(shí)寫一些SQL腳本來統(tǒng)計(jì)一些東西阔蛉,或者是提供視圖或者存儲(chǔ)過程給第三方使用吸耿。但是有些內(nèi)容是串聯(lián)起來存在一個(gè)字段中的。
比如:sMZ(民族) ? ?? sLx(聯(lián)系方式)
? ? ? ? ? ? ? 01/漢族 ? ? ? ? ?? tel:123456/qq:87654321/phone:13812345678
SELECT SUBSTRING('01/漢族',4,2) ? 漢族
SELECT RIGHT('01/漢族',2) ? 漢族? --也是一樣的?
取民族很簡單 如果要取手機(jī)號(hào)phone 就比較麻煩了,因?yàn)槲覀儾恢繯Q是幾位的
或者qq電話可能沒有填寫了懊烤,單純依靠字段長度截取不了的矗愧。
這樣就需要變通下了:
SELECT SUBSTRING('tel:123456/qq:87654321/phone:13812345678',
charindex('/phone','tel:123456/qq:87654321/phone:13812345678')+1,1000)
使用charindex獲取'/phone'字符的其實(shí)位置 嵌套SUBSTRING截取
如果在MySQL中還可以這樣:
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', -1)?
'phone:13812345678' 截取第一個(gè) '/' (倒數(shù))之后的所有字符
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', 1)?
'tel:123456' 截取第一個(gè) '/' 之前的所有字符