神刀安全网

MySQL常用函数与运算符

运算符

算术运算符

MySQL 支持的算术运算符包括加、减、乘、除和模运算。 在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。

比较运算符

当使用SELECT语句进行查询时, MySQL允许用户对表达式的左边操作数和右边操作数进行比较,比较结果为真,则返回1,为假则返回 0,比较结果不确定则返回NULL。

|符号|描述|备注 |—|—|—| |=| 等于 | |<>, != | 不等于| |>| 大于| |<| 小于| |<= | 小于| | />= | 大于等于 | |BETWEEN| 在两值之间 | >=min&&<=max |NOT BETWEEN| 不在两值之间 | |IN | 在集合中 | |NOT IN | 不在集合中| |<=> | 严格比较两个NULL值是否相等|两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 |LIKE | 简单模式匹配| |REGEXP | 正则式匹配 | |IS NULL | 为空 | |IS NOT NULL | 不为空 |

  • 若有一个或两个参数为 NULL,除非NULL<=> NULL 等运算符,则比较运算的结果为NULL。
  • 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
  • 若两个参数均为整数,则按照整数进行比较。

逻辑运算符

|运算符|作用| |—|—| |AND&&|逻辑与| |OR /|/||逻辑或| |NOT !|逻辑非| |XOR|异或|

位运算符

|运算符|作用| |—|—| |&|位与| |/||位或| |~|位取反| |^|位异或| |>>|右移| |<<|左移|

常用函数

字符串函数

|函数|说明|备注| |—|—|—| |ASCII(char)| 返回字符的ASCII码值 |BIT LENGTH(str) | 返回字符串的比特长度 |LENGTH(s) | 返回字符串str中的字符数 |CONCAT(s1,s2…,sn)| 将s1,s2…,sn连接成字符串|任何字符串与NULL进行连接的结果都将是NULL |CONCAT WS(sep,s1,s2…,sn)| 将s1,s2…,sn连接成字符串,并用sep字符间隔 |LOWER(str) UPPER(str) | 返回将字符串str中所有字符改变为小/大写后的结果 |LEFT(str,x) RIGHT(str,x) | 返回字符串str中最左/右边的x个字符|如果第二个参数是NULL,那么将不返回任何字符串。 |LTRIM(str) | 从字符串str中切掉开头的空格 |REPEAT(str,srchstr,rplcstr)|返回字符串str重复x次的结果 |REVERSE(str)| 返回颠倒字符串str的结果 |RTRIM(str) | 返回字符串str尾部的空格 |STRCMP(s1,s2) | 比较字符串s1和s2 |TRIM(str) | 去除字符串首部和尾部的所有空格

数值函数

|函数|说明| |—|—| |ABS(x) | 返回x的绝对值 |BIN(x)| 返回x的二进制(OCT返回八进制,HEX返回十六进制) |CEILING(x)| 返回大于x的最小整数值 |FLOOR(x)| 返回小于x的最大整数值 |MOD(x,y) | 返回x/y的模(余数) |PI()| 返回pi的值(圆周率) |RAND() | 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 |ROUND(x,y) | 返回参数x的四舍五入的有y位小数的值

日期时间函数

|函数|说明| |—|—| |CURRENT DATE() |返回当前的日期 |CURRENT TIME() |返回当前的时间 |DATE ADD(date,INTERVAL int keyword)| 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECT DATE ADD(CURRENT DATE,INTERVAL 6 MONTH); |DATE FORMAT(date,fmt) | 依照指定的fmt格式格式化日期date值 |DATE SUB(date,INTERVAL int keyword)| 返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECT DATE SUB(CURRENT DATE,INTERVAL 6 MONTH); |DAYOFWEEK(date) | 返回date所代表的一星期中的第几天(1~7) |DAYOFMONTH(date) | 返回date是一个月的第几天(1~31) |DAYOFYEAR(date) | 返回date是一年的第几天(1~366) |FROM UNIXTIME(ts,fmt) | 根据指定的fmt格式,格式化UNIX时间戳ts |UNIX_TIMESTAMP(date)|返回日期date的UNIX时间戳 |HOUR(time) | 返回time的小时值(0~23) |MINUTE(time) | 返回time的分钟值(0~59) |MONTH(date) | 返回date的月份值(1~12) |NOW() | 返回当前的日期和时间 |WEEK(date) | 返回日期date为一年中第几周(0~53) |YEAR(date) | 返回日期date的年份(1000~9999)

流程函数

  • CASE WHEN[test1] THEN [result1]…ELSE [default] END 如果testN是真,则返回resultN,否则返回default
  • CASE [test] WHEN[val1] THEN [result]…ELSE [default] END 如果test和valN相等,则返回resultN,否则返回default
  • IF(test,t,f) 如果test是真,返回t;否则返回 f
  • IFNULL(arg1,arg2) 如果arg1不是空,返回arg1,否则返回arg2

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » MySQL常用函数与运算符

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址