zoukankan      html  css  js  c++  java
  • mysql中比较实用的几个函数

    1.曾有这样的需求:

     可以使用如下函数:

    语法:FIND_IN_SET(str,strlist)。

    定义:

    1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间。

    2. 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。

    3. 如果第一个参数是一个常数字符串,而第二个是typeSET列,则FIND_IN_SET()函数被优化,使用比特计算。

    4. 如果str不在strlist或strlist为空字符串,则返回值为0。

    5. 如任意一个参数为NULL,则返回值为NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

    strlist:一个由英文逗号“,”链接的字符串,例如:"a,b,c,d",该字符串形式上类似于SET类型的值被逗号给链接起来。

    示例:SELECT FIND_IN_SET('b','a,b,c,d'); //返回值为2,即第2个值

    2.曾有这样的需求:

    需要将查询出来的id,按指定的分隔符拼接。我们一般都是查询出list后,在service层中拼接,其实在查询过程中就可以直接拼接,

    可使用如下函数:

    语法结构:

     GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC DESC] [,col_name ...]] [SEPARATOR str_val])

    DISTINCT:去除重复值

    expr [,expr ...]:一个或多个字段(或表达式)

    ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]:根据字段或表达式进行排序,可多个

    SEPARATOR str_val:分隔符(默认为英文逗号)

    如下实例:

  • 相关阅读:
    求解整数集合的交集(腾讯笔试)
    关于屏幕适配之比例布局
    (转)注册JNI函数的两种方式
    正则表达式记录
    当年一个简单可用的多线程断点续传类
    最近用到的几个工具方法
    Android中包含List成员变量的Parcel以及Parcel嵌套写法示例
    java实现计算MD5
    一个用于去除状态栏和虚拟导航栏的BaseActivity
    MVP的模板
  • 原文地址:https://www.cnblogs.com/ysq0908/p/12038342.html
Copyright © 2011-2022 走看看