MySQL学习笔记(3)
运算符
类型:算术、比较、逻辑和位运算符
| 运算符 |
注解 |
| + |
加法 |
| - |
减法 |
| * |
乘法 |
| / |
除法,除数为0,返回结果NULL |
| % |
取商 |
| 运算符 |
注解 |
| = |
等于,不能用于NULL比较 |
| <>或!= |
不等于,不能用于NULL比较 |
| <=> |
NULL安全的等于,可用于NULL比较 |
| < |
| <= |
| > |
| >= |
| BETWEEN |
存在于指定范围(>= and <=) |
| IN |
存在于指定集合 |
| IS NULL |
| IS NOT NULL |
| LIKE |
模糊匹配(“*”匹配一个,“%”匹配多个) |
| REGEXP或RLIKE |
正则匹配,用法类似于LIKE |
比较运算符可比较数字、字符串和表达式。数字作浮点数比较,字符串以不区分大小写的方式比较。
| 运算符 |
注解 |
| NOT ! |
非,但NOT NULL返回值为NULL |
| AND && |
与 |
| OR |
|
|
或 |
| XOR |
异或 |
| 运算符 |
注解 |
| & |
位于 |
|
位或 |
| ^ |
位亦或 |
| ~ |
位取反(~1) |
| >> |
位右移 |
| << |
位左移 |
常用函数
| 函数 |
功能 |
| CONCAT(S1,S2,...Sn) |
连接S1,S2,...Sn字符串,于NULL连接返回NULL |
| INSERT(str,x,y,instr) |
将字符串str从第x位置开始,y个字符长的字符串替换为字符串instr |
| LOWER(str) |
转为小写 |
| UPPER(str) |
转为大写 |
| LEFT(str,x) |
返回str最左边的x个字符,第二个参数为NULL将不返回任何字符串 |
| RIGHT(str,x) |
最右边x个字符 |
| LPAD(str,n,pad) |
用字符串pad对str最左边进行填充,知道长度为n个字符 |
| RPAD(str,n,pad) |
对str最右边 |
| LTRIM(str) |
去掉字符串str左侧空格 |
| RTRIM(str) |
去掉右侧空格 |
| REPEAT(str,x) |
返回str重复x次结果 |
| REPLACE(str,a,b) |
用b替换str中所有出现的a |
| STRCMP(s1,s2) |
比较s1和s2,比较ASCII码大小 |
| TRIM(str) |
去掉行尾和头的空格 |
| SUBSTRING(str,x,y) |
返回str从x起到y个字符字符串的长度 |
| 函数 |
功能 |
| ABS(x) |
绝对值 |
| CEIL(x) |
大于x的最小整数 |
| FLOOR(x) |
小于x的最大整数 |
| MOD(x,y) |
x/y的模 |
| RAND() |
0~1内随机值 |
| ROUND(x,y) |
四舍五入 |
| TRUNCATE(x,y) |
x截断为y位小数 |
| 函数 |
功能 |
| CURDATE() |
当前日期 |
| CURTIME() |
当前时间 |
| NOW() |
当前日期和时间 |
| UNIX_TIMESTAMP(date) |
日期date的UNIX时间戳 |
| FROM_UNIXTIME(timestamp) |
UNIX时间戳的日期值 |
| WEEK(date) |
返回date为一年中的第几周 |
| YEAR(date) |
date的年份 |
| HOUR(time) |
time的小时值 |
| MINUTE(time) |
time的分钟值 |
| MONTHNAME(date) |
date的月份名 |
| DATE_FORMAT(date,fmt) |
格式化date |
| DATE_ADD(date,INTERVAL expr type) |
一个日期或时间加上一个时间间隔的时间值 |
| DATEDIFF(expr,expr2) |
返回expr和expr2之间的天数 |
- mysql时间相加表达式类型 DATE_ADD(date,INTERVAL expr type)
| 表达式类型 |
描述 |
格式 |
| HOUR |
小时 |
hh |
| MINUTE |
分 |
mm |
| SECOND |
秒 |
ss |
| YEAR |
年 |
YY |
| MONTH |
月 |
MM |
| DAY |
日 |
DD |
| YEAR_MONTH |
年和月 |
YY_MM |
| DAY_HOUR |
日和小时 |
DD hh |
| DAY_MINUTE |
日和分钟 |
DD hh:mm |
| DAY_SECOND |
日和秒 |
DD hh:mm:ss |
| HOUR_MINUTE |
小时和分 |
hh:mm |
| HOUR_SECOND |
小时和秒 |
hh:ss |
| MINUTE_SECOND |
分钟和秒 |
mm:ss |
select now() current,date_add(now(),INTERVAL 31 day) after31days,date_add(now(),INTERVAL '1_2' year_month) after_oneyear_twomonth;
select now() current,date_add(now(),interval -31 day) after31days,date_add(now(),interval '-1_-2' year_month) after_oneyear_twomonth;
mysql的日期函数在程序需要处理日期间隔,加减时还是很实用的。日期字符串虽然可以直接比较。
| 函数 |
功能 |
| IF(value,t f) |
value为真返回t,否则返回f |
| IFNULL(value1,value2) |
value1不为空返回value1,否则value2 |
| CASE WHEN [value1] THEN [result1]...ELSE[default] END |
value1是真返回result1,否则default |
| CASE [expr] WHEN [value1] THEN [result1]...ELSE[default] END |
expr等于value1返回result1,否则default |
-其他函数
| 函数 |
功能 |
| VERSION() |
返回数据库版本 |
| USER() |
当前登录用户名 |
| INET_ATON(IP) |
IP地址的数字表示 |
| INET_NTOA(num) |
数字代表的IP地址,比较IP地址时使用 |
| PASSWORD(str) |
字符串str的加密版本 |
| MD5() |
字符串str的MD5值 |
遇到不明白的函数时记得使用终极大招 ? func_name
[Github传送门][1]
[1]: https://github.com/Melody12ab/db_mysql_note
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。