SQL常用函数

  1. 连接函数concat()
    • Mysql:concat(str1,str2,…),可以多个参数只要其中一个是NULL,那么将返回NULL
    • Oracle:concat(exp1,exp2),只能两个参数只要其中一个非NULL,返回值非NULL;如果需要多个参数可以用'||'
  2. Mysql中的几个连接扩展函数contcat_ws、group_concat、repeat 函数参考
    • contcat_ws(separator,str1,str2,...)
      函数的第一个参数为后续参数的连接符,当第一个参数的连接符为NULL时返回值为NULL,与concat不同的是不会因为后续参数存在NULL结果就为NULL
    • group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
      是分组连接函数,需要搭配group by一起使用,详情可查看参考连接
    • repeat(str,count)
      是一个复制函数,第一个参数为需要复制的字符,第二个参数为复制的次数,详情可查看参考连接
      Oracle中的wm_concat
  3. Mysql比较字符串大小函数:strcmp(str1,str2) 左大于右时返回1,左等于右时返回0,左小于于右时返回-1
  4. 获取字符串长度的函数
    • Mysql:
    • length(str) 返回的是字节数UTF-8编码,汉字3个字节
    • char_length(str) 返回的是字符数一个中午1个字符
    • Oracle:
    • length(string)功能类似于Mysql中的char_length返回的是字符数
    • lengthb(string)功能类似于Mysql中的length返回的是字节数
  5. 字符串查找函数:locate、position、instr
    • locate(str1,str2)、position(str1 IN str2) 都是返回子串str1在字符串str2中的位置
    • instr(str1,str2) 返回子串str2在字符串str1中的位置注意这里调转了
  6. mysql:substring_index()
    截取:mysql:substring(),Oracle:substr
    时间戳:unix_timestamp
  7. coalesce的使用
    COALESCE(expression,value1,value2……,valuen),返回包括expression在内的所有参数中的第一个非空表达式。
  8. Oracle中的decode
  9. Oracle中的start with
  10. collect_list 行转列参考:
posted @ 2021-06-25 11:31  蔓越煤  阅读(74)  评论(0编辑  收藏  举报