2016-12-16 60 views
0
E:g 

Case 1: delimeter not exist 

string = "abcdefg" 

     mysql> select substring_index(string,'z',1) from table; 
     output: abcdefg 
     expected output : blank string "" 

Case 2: delimeter exist 

string = "abczdefg" 

     mysql> select substring_index(string,'z',1) from table; 
     output: abc 
     expected output : abc (same as substring returns) 

我想這個選擇查詢應該返回我空字符串,如果「Z」(分隔符)是不存在的 如果分隔符字符串存在,那麼無論SUBSTRING_INDEX是有規律的功能SUBSTRING_INDEX在MySQL應該返回空字符串,如果沒有找到定界符

查詢中的哪些修改可以用於我的預期輸出?

回答

0

SUBSTRING_INDEX不正是它應該:) 對於你的任務,你可以使用

set @str = "abcdef"; 
select substring(@str, 1, LOCATE('z', @str) - 1) from dual; 

,如果我想「高清」這將不正是你想要

+0

,什麼什麼(分隔符後的字符串) case 2 – prat

+0

謝謝阿列克謝它爲我工作.. ..:(LOCATE('z',@str)= 0,0,1,)從雙 – Alexey

+0

選擇子字符串(@str,LOCATE('z',@str) ) – prat