mysql常用函数解析  

 1.更改字符串的大小写

UPPER()LOWER()函数可以使字符串的大小写转换
连接字符串的函数concat(str1,str2,...)
mid()函数
语法:mid(str1,start_num,n)
--->从str1字符串的start_num位置开始,取n个字符
initial_cap()函数
将字符串的第一个字符大写
 2. 截取子串
substring()函数
格式substring(str,n,m)
获取字符串str的 第n个字母开始 向右的字符串-->与mid()函数省略第三个参数的结果一致
从str的第n个字符开始,向右取m个字符。类似mid(str,n,m)的使用
  1. 注:当n>0表示从str的左侧开始 
  2.    当n<0表示从str的右侧开始(m必须大于0) 
  3. --->对于substring()函数和mid()函数同样适用  
  4. ---->substring()和mid()的结构趋向都是向右              
substring_index()函数
格式substring(str,'c',n)
  1. 返回str中任意指定字符左侧或者右侧的整个子串 
  2. 从str左侧开始查找子串c,第n次出现的位置,然后返回该位置左侧的整个子串 
  3. 如果n 为负数,从str右侧开始查找c 第|n|次出现的位置,并返回其右侧的整个子串 
  1.  n>0             n<0 
  2. ---->          <------ 
  3. <----返回子串   ------>返回子串          
  4. 注:c 必须为子字符或者字符串  
  5. substring_index()的结果趋向 取决于n值正负 (正值向左,负值向右)  
  6. 如果找不到c的匹配项,则返回整个str字符串 
 3.连接字符串
 concat()函数
 格式:concat(str1,str2..)
 作用:连接两个或者多个字符串。
  1. 注:concat()函数也可以作用于ENUM或者SET类型值 
  2. char_length()函数 作用:计算字符串的长度 
  1. 比如更新表中的值 
  2.  

  1. update tb_name set set_col=if(set_col is null,val,concat(set_col,',',val)); 

locate()函数  
格式:locate('c',str,n)    n 为可选参数
作用:返回子字符串在str中的位置,如果有则返回在第几位,否则返回0 ,n表示从字符串开始查找的位置。
 
  1. 注意:str使用的字符集决定了c在str中查找时 大小写是否敏感。 比如str字符串使用utf8_general_ci则不敏感 
  1. 例如: 
  2. mysql> select name,locate('g',name),locate('g',name,3) from student; 
  3. +----------+------------------+--------------------+ 
  4. | name     | locate('g',name) | locate('g',name,3) | 
  5. +----------+------------------+--------------------+ 
  6. | ghc      |                1 |                  0 |  
  7. | gao      |                1 |                  0 |  
  8. | YangGUO  |                4 |                  4 |  
  9. | ghc      |                1 |                  0 |  
  10. | GuoJing  |                1 |                  7 |  
  11. | YangKang |                4 |                  4 |  
  12. | hc       |                0 |                  0 |  
  13. | Zhao     |                0 |                  0 |  
  14. | Zh       |                0 |                  0 |  
  15. | gchang   |                1 |                  6 |  
  16. | ghang    |                1 |                  5 |  
  17. | hxang    |                5 |                  5 |  
  18. | liuang   |                6 |                  6 |  
  19. | liuxiang |                8 |                  8 |  
  20. | liuhuang |                8 |                  8 |  
  21. +----------+------------------+--------------------+ 
  1. 注意:在mysql中date 类型数据格式和datetime类型数据格式是不一样的。 
  4.日期函数
YEAR()--->获取一个日期格式数据的年份
MONTH()-->获取一个日期格式数据的月份
dayofmonth(date)--->获取一个日期个数数据的某天