非常实用的sql函数

总结一些工作中用到的比较实用的sql函数,持续更新中。。。

1、date_format(参数1,参数2)
  • 格式化日期,

  • 参数1类型:date(日期)

  • 参数2类型:string(字符串),即日期格式

  • 示例如下:

    // %Y %m %d %H %i %s,分别对应年月日时分秒
    date_format(r.receive_date,'%Y-%m-%d %H:%i:%s') as receiveDate
    
2、concat(str1,str…)
  • 将多个字符串连接在一起
  • 参数类型:全部都是string(字符串)
  • 示例如下:
    ( SELECT concat( comp.ATTRIBUTE1, "_", comp.COMPANY_NAME ) 
    FROM tsp_bda_vb_companys comp WHERE comp.COMPANY_ID = ord.company_id ) 
    AS company_name,
    
3、group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
  • 已查询的第一个字段分组,将字段连接在一起,默认以逗号分隔

  • 示例如下:

    GROUP_CONCAT(od.order_no,"-",od.order_line_no) order_no,
    
4、
  • 处理特殊字符,解析器不对CDATA区中的内容进行解析,而是将这些数据原封不动地交给下游程序处理

  • 示例如下:

     <![CDATA[ date_format(r.receive_date ,'%Y-%m-%d') <= #{endDate} ]]>
    
  • 一些特殊字符也可用下面的替代符号所代替:

    特殊字符 替代符号
    & & amp;
    < & lt;
    > & gt;
    " & quot;
    & apos;
5、find_in_set(str,strlist)
  • 查询字符串(strlist)中包含(str)的结果,返回结果为null或记录
  • str 要查询的字段名
  • strlist 字符串 参数以”,”分隔 如 (1,2,6,8)
  • 示例如下:
      where( 
      	FIND_IN_SET(id,#{orderIds}) OR FIND_IN_SET(order_no,#{orderIds})
        )
    

你可能感兴趣的:(MySql,MyBatis,字符串,sql,mysql,数据库)