Mysql:函数、操作符

表达式

  • 除了特殊处理,包含null的表达式总是null

 

操作符

  • {and|&&}、{or|||}、{xor} {not|!}
  • [not] between ... and ...
  • &、~、|、^ :(位)与、反、或、异或
  • case:ansi的标准操作符
  • is [not] {null|true|false}
  • =、>=、>、<=、<、<=>、!=、<>  --"<=>"安全的等于:会是表达式"null<=>null"为true1,其中有一个是null时,返回false0
  • +、-、*、/、%、div  --div(floor())是用于整数的除法,对于bigint是安全的;%(mod())取余
  • [not] like
  • [not] {rlike|regexp} --正则表达式模式匹配
  • >>、<<  --位右移、左移
  • binary  --关键字:强制字符串转换为二进制模式
  • ()--改变操作符的优先级
  • 特殊的操作函数

in()、least()、greatest()、coalesce()、interval()、isnull()、strcmp()...

if()类似于c的?三元运算符、ifnull()类似于sqlserver的isnull()、nullif()、

类型转换

  • 比较的两边一个是datetime或timestamp,另一边是常量时,常量隐式转换为datetime 或 timestamp
  • 两个类型相同时,按同类型比较
  • 其他情况下转换为duble——可能不需要转到最高级,而是中间的足够宽容的级别
  • 隐式转换:
  • 显示转换:cast()、convert()、binary。注意cast函数支持的type:binary(m),char(m),date,datetime,singed,unsigned,decimal(m,d)

特殊函数

  • benchmark()重复执行表达式
  • default()获取表列的默认值
  • last_day()  某月最后的日期

.............................

原文地址:https://www.cnblogs.com/jinzhenshui/p/1496276.html