MySQL中的运算符和常用函数

来源:互联网 发布:淘宝客2016年还好做吗 编辑:程序博客网 时间:2024/06/01 10:49

MySQL中的运算符

算数运算符

和一般的加减乘除求余求商一样

mysql> select 0.1+0.3333, 0.1-0.3333, 0.1*0.3333, 1/2, 1%2;+------------+------------+------------+--------+------+| 0.1+0.3333 | 0.1-0.3333 | 0.1*0.3333 | 1/2    | 1%2  |+------------+------------+------------+--------+------+|     0.4333 |    -0.2333 |    0.03333 | 0.5000 |    1 |+------------+------------+------------+--------+------+1 row in set (0.00 sec)

比较运算符

等于、不等于、大于、小于、大于等于、小于等于和一般的比较运算符用法一样;其他运算符:

运算符 作用 <> 不等于的另一种写法;NULL不适用与等于和不等于 <=> 安全的等于;NULL也使用于 BETWEED 存在于指定范围;“a BETWEED min AND max”表明a在该范围内 IN 存在于指定集合;“a IN (value1, value2….)” IS NULL 为NULL;“a IS NULL” IS NOT NULL 不为NULL;“a IS NOT NULL” LIKE 通配符匹配;“a LIKE%123%”表明当a中含有字符串“123”时返回1 REGEXP或者RLIKE 正则表达式匹配;“str REGEXP str_pat”

逻辑运算符

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

位运算符

位运算符 作用 & 位与 | 位或 ^ 位非 ~ 位去反 >> 位右移 << 位左移

运算符的优先级

MySQL中的常用函数

字符串函数

  • CONCAT(S1, S2, …Sn)函数:把传入的参数连接成一个字符串
  • INSERT(str, x, y, instr)函数:将字符串str从第x个位置开始y个字符串长的子串替换为instr
  • LOWER(str)和UPPER(str)函数:大小写转换
  • LEFT(str, x)和RIGHT(str, x)函数:分别返回字符串左边x个字符和右边x个字符
  • LPAD(str, n, pad)和RPAD(str, n, pad)函数:用字符串pad分别对str左边和右边进行填充,直到长度达到n
  • LTRIM(str)和RTRIM(str)函数:去掉字符串左边和右边的空格
  • REPEAT(str, x)函数:返回字符串重复x次的结果
  • REPLACE(str, a, b)函数:用字符串b替换所有字符串a
  • STRCMP(s1, s2)函数:比较字符串s1和s2的ASCII码值大小,如果s1小返回-1,,如果相等,返回0,如果s1大返回1
  • TRIM(str)函数:去掉目标字符串开头和结尾的空格
  • SUBSTRING(str, x, y)函数:返回字符串从x位置开始起y长度的字符串

数值函数

  • ABS(x)函数:返回x的绝对值
  • CEIL(x)函数:返回大于x的最小整数
  • FLOOR(x)函数:返回小于x的最大整数
  • MOD(x, y)函数:返回x/y的模
  • RAND()函数,返回0~1内的随机值;如果要扩大范围,前面乘一个整数就可以了
  • ROUND(x, y)函数:返回参数x的四舍五入的y位小数值
  • TRUNCATE(x, y)函数:与上一个类似,区别在于它是截断,而不是四舍五入

日期和时间函数

有时候我们会遇到这样的需求:当前时间是多少?下个月的今天是星期几?统计截止到当前日期前3天的收入的总和,等等。这些需求就需要日期和时间函数来实现

  • CURDATE():返回当前日期,只包含年月日
  • CURTIME():返回当前时间,只包含时分秒
  • NOW():返回当前日期和时间
  • UNIX_TIMESTAMP():返回日期的时间戳
  • FROM_UNIXTIME(unixtime):返回时间戳的日期值
  • WEEK(DATE)和YEAR(DATE):返回日期是一年中的第几周;返回日期是那一年
  • HOUR(time)和MINUTE(time):返回小时和分钟
  • MONTHNAME(date):返回date的英文月份名称
  • DATE_FORMAT(date, fmt):按格式显示日期
格式符 格式说明 %s 两位数形式的秒 %i 两位数形式的分 %H 两位数形式的小时,24小时 %h 两位数形式的小时,12小时 %T 24小时形式 %r 12小时时间形式 %W 一周中每一天的名称 %a 一周中每一天名称的缩写 ….. 其他查阅书本第87页
mysql> select date_format(now(), '%M, %D, %Y');+----------------------------------+| date_format(now(), '%M, %D, %Y') |+----------------------------------+| August, 1st, 2017                |+----------------------------------+1 row in set (0.00 sec)
  • DATEDIFF(date1, date2):计算两个日期相差的天数

流程函数

流程函数用于在一个SQL语句中实现条件选择,这样能够提高语句的效率

其他常用函数

函数 功能 DATABASE() 返回当前使用的数据库 VERSION() 返回当前数据库的版本 USER() 返回当前登录的用户名 INET_ATON(IP) 返回IP地址的数字表示 INET_NTOA(num) 返回数字所代表的IP地址 PASSWORD(str) 返回字符串的加密版本,用来设置系统用户的密码 MD5(str) 返回字符串的MD5值,常用来对数据加密
原创粉丝点击