• 运算符及正则


    比较运算符只会返回0,1或者NULL

    常规运算符(只写不熟悉的)

    • NULL

    • 除了<=>,其他运算符的运算中只要存在NULL,那么结果为NULL,只有 <=>在有NULL的情况下才会返回1或0
    • 字符串的‘+’

    • 如果参与+运算中存在数字,会将字符串隐式转换为对应的数字,如果不能转换为数字,则为0
    • %的正负

    • 结果的正负取决于前面的参数的符号
    • 除0

    • 返回值永远为NULL

    关键字运算符

    • BETWEEN 字段1 AND 字段2 和 IN (参数1,参数2…)

    • 都是选择一个范围
    • BETWEEN…AND…是针对一个连续的范围
    • IN 针对一个离散的范围
    • NOT

    • 单独用,将比较运算结果的取反
    • IS NOT NULL 选择参数不为NULL的的行(对应于IS NOT)
    • GREATEST 和 LEAST

    • GREATEST(参数1,参数2…) 返回列表中的最大值
    • LEAST(参数1,参数2…) 返回列表中的最小值
    • 注意参数类型的比较规则,有NULL会返回NULL
    • LIKE 模糊匹配

    • % 匹配0或多个字符字符
    • _ 匹配1个字符
    • \ 是转义字符 也可以使用关键字ESCAPE [字符…] 括号里是转义的字符
    • 正则(只写常用)

    • 格式:expr REGEXP 匹配条件
    • ^ x 匹配以x的开头 $x匹配以x的结尾
    • * 匹配前面字符0或1或多次
    • + 匹配前面字符1或多次
    • ? 匹配前面字符0或1次
    • {n} 匹配前面字符n次
    • . 匹配单个字符 除\n \r
    • [参数…] 匹配包含任意一个参数的一个字符
    • REGEXP 和 LIKE

    • REGEXP 是部分匹配 LIKE 是整个数据匹配
    • expr REGEXP ‘a’ 只要expr中有a返回值为1
    • expr LIKE ‘a’ 返回值为 expr == ‘a’

    逻辑运算符

    XOR 异或

    优先级

    转

    • NOT优先级很低
    • AND > OR

    补充
    字符用‘’
    对于带空格的参数使用``

  • 相关阅读:
    洛谷1631 序列合并(优先队列)
    实现协议互通:探索钡铼BL124EC的EtherCAT转Ethernet/IP功能
    Mac下brew安装php7.4
    神经系统的区分图解高中,神经系统的区分和组成
    玩客云Armbian_23.08.0-trunk_Onecloud_bookworm_edge_6.4.14.burn配置
    打造工业操作系统开源开放体系
    你如何看待AIGC技术?
    vueDay03——可灵活变动的class样式
    java+ssm+mysql电梯管理系统
    linux添加环境变量
  • 原文地址:https://blog.csdn.net/qq_51682771/article/details/125538777