2013年12月11日 星期三

MYSQL Code 紀錄

SUBSTRING_INDEX () 字串處理

SUBSTRING_INDEX(str,delim,count)
str 傳入的字串
delim 傳入的分界符號
count 傳入的取樣次數

delim 不用說,就是類似使用 split 時的切割符號,比較不一樣的是 count (取樣次數)
當 count > 0 時會由左至右取樣,count < 0 時會由右至左取樣

SELECT SUBSTRING_INDEX('dotblogs.com.tw', '.', 1);
return: dotblogs

SELECT SUBSTRING_INDEX('dotblogs.com.tw', '.', 2);
return: dotblogs.com

SELECT SUBSTRING_INDEX('dotblogs.com.tw', '.', -2);
return: com.tw

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('dotblogs.com.tw', '.', 2), '.', -1);
return: com


FIELD() 

FIELD(str,str1,str2,str3,...)
傳回 str 在清單 str1, str2, str3, ... 中的索引。如果 str 沒有發現,傳回 0。FIELD() 是 ELT() 的反運算:

mysql> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
        -> 2
mysql> SELECT FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
        -> 0