MySQLの文字列切り取り関数

2093 ワード

MySQL文字列切り取り関数は、left()、right()、substring()、substring_index()とmid()とsubset()があります.しかしmid()はsubset()とsubstring()の機能と同じである.だからsubstring()を使えばいいです.
便宜上、今回のMySQL接続では、ユーザー定義変数、文字列@strを設定し、次の操作を複数回容易にします.
1、カスタム変数設定のsql:
set @str:='www.hao123.com.cn'; --   :MySQL       1   ,    str   :1~17。             0  。

2、left()
-- left(str,len) 
--       3       
select left(@str,3)  --   :www

3、right()
-- right(str,len)
--       (  ) 3       
select right(@str,3)   --   :.cn

4、substring()
-- substring(str FROM pos FOR len)
--       1   ,     4
select substring(@str from 1  for 4)  --   :www.

-- substring(str FROM pos)
--       4   ,     
select substring(@str from 4)  --   :.hao123.com.cn

-- substring(str,pos,len)
--       1   ,     4
select substring(@str,1,4)  --   :www.

-- substring(str,pos)
--       4   ,     
select substring(@str,4)  --   :.hao123.com.cn
-- substring(str FROM pos FOR len)
--        5       ,     3
select substring(@str from  -5 for 3)  --   :om.

-- substring(str FROM pos)
--        4       ,      
select substring(@str from -4)  --   :m.cn

-- substring(str,pos,len)
--        5       ,     3
select substring(@str,-5,3)  --   :om.

-- substring(str,pos)
--        4       ,      
select substring(@str,-4)  --   :m.cn

5、substring_index()
-- substring_index(str,delim,count)
--      1     ,        2     ( )1   
select substring_index(@str,'.',2)  --   :www.hao123
--         ,        
select substring_index(@str,'。',2)  --   :www.hao123.com.cn
select substring_index(@str,'.',10)  --   :www.hao123.com.cn
-- substring_index(str,delim,count)
--   :      :      2        ( )1 
--            :       1 
select substring_index(@str,'.',-2)  --   :com.cn 
--       ,        
select substring_index(@str,'.',-10)  --   :www.hao123.com.cn