MySql 常用的函数

SELECT LEAST(1,2,3) RES;-- 取参数中的最小值

SELECT GREATEST(1,2,3);-- 取参数中的最大值

SELECT 1=0 ,'2'=2,NULL=1,NULL=NULL ; -- 普通的等于,相等返回1,不相等返回0,如比较的任何一方存在null,则返回null

SELECT 1<=>0 ,'2'<=>2,NULL<=>1,NULL<=>NULL; -- 安全的等于,如比较的一方存在null,返回0,都为null则返回1

SELECT
'stud' LIKE 'stud',
'stud' LIKE 'stu_', -- 一个下划线代表一个字符
'stud' LIKE 'stud_',
'stud' LIKE 's%',-- 以s 开头的匹配
'stud' LIKE '%d'; -- 以d 结尾的匹配


SELECT 'yyc' REGEXP '^y', -- 匹配以y开头
'yyc' REGEXP 'c$', -- 匹配以c 结尾
'yyc' REGEXP '[ab]',-- 匹配包含 a 或者包含 b 
'yyc' REGEXP '.yc';-- 匹配以yc结尾的

SELECT CONCAT('a','b','c') -- 结果为'abc';

SELECT CONCAT('a',null,'b','c') -- 结果为null; 其中任何一个值为null 则结果为null

SELECT CONCAT_WS('-','a','b','c') -- 结果为'a-b-c';用-进行拼接, 结果为a-b-c

SELECT CONCAT_WS('-','a',null,'b','c') -- 结果为'a-b-c';用-进行拼接,如包含null 则略过 结果为a-b-c

SELECT INSERT ('yyc',1,2,'ab');-- 从第1字符开始,替换2个长度的字符,替换为ab 结果为abc

SELECT INSERT ('yyy',1,2,'abc');-- 从第1字符开始,替换2个长度的字符,替换为ab,如果替换的值超长了,就直接补.结果为abcy

SELECT INSERT ('yyc',-1,2,'abc');-- 如果写-1 则不进行替换 结果还是yyc

SELECT LEFT('yyc',2);-- 从左边往后取2个字符,结果为yy

SELECT RIGHT('yyc',2);-- 从右边往前取2个字符,结果为yc

SELECT LPAD('yyc',5,"f"); -- 从左边填充f,直到整个字符的长度达到5,结果为ffyyc

SELECT RPAD('yyc',5,"f"); -- 从右边填充f,直到整个字符的长度达到5,结果为yycff

SELECT LTRIM('  yyc');-- 删除左边的所有空格 结果为yyc

SELECT RTRIM('yyc  ');-- 删除左边的所有空格yyc

SELECT TRIM('  yyc  ');-- 删除左边何后边的所有空格yyc

SELECT TRIM('y' from 'yycyycyyy'); -- 删除两端的y,中间保留,结果为cyyc

SELECT REPEAT('yyc',3);-- 重复生成指定数量的值,  结果为yycyycyyc

SELECT REPLACE('yyc','y','a');-- 用a替换 'yyc' 中的所有y,结果为aac;

SELECT STRCMP('yyc','yyc');-- 比较两个字符串,相同则返回0, 第一个小于第二个 返回-1,第一个大于第二个返回1

SELECT SUBSTRING('yangyongcui',5);-- 从第五个字符往后截取,结果为yongcui

SELECT SUBSTRING('yangyongcui',-5);-- 从后往前数五个字符,然后再往后截取所有,结果为ngcui

SELECT SUBSTRING('yangyongcui',5,4);-- 从第五个字符往后截取4个字符,结果为yong

SELECT SUBSTRING('yangyongcui',-5,4);-- 从后往前数五个字符,然后再往后截取4个字符,结果为ngcu
-- SUBSTRING 和 SUBSTR 结果一致
SELECT SUBSTR('yangyongcui',5);-- 从第五个字符往后截取,结果为yongcui

SELECT SUBSTR('yangyongcui',-5);-- 从后往前数五个字符,然后再往后截取所有,结果为ngcui

SELECT SUBSTR('yangyongcui',5,4);-- 从第五个字符往后截取4个字符,结果为yong

SELECT SUBSTR('yangyongcui',-5,4);-- 从后往前数五个字符,然后再往后截取4个字符,结果为ngcu


SELECT CURRENT_DATE(),CURDATE(),CURDATE()+0; -- 获取当前数据库日期 结果2021-01-17,2021-01-17,20210117;


SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE(); -- 获取当前数据库日期和时间 结果都是  2021-01-17 18:47:01

SELECT MONTH('2021-01-17');-- 获取指定日期的 月份 结果是1;

SELECT MONTHNAME('2021-01-17')-- 获取指定日期的 月份的英文名 结果是January;

SELECT DAYNAME('2021-01-17');-- 获取指定日期的 天的英文名 结果是Sunday;


SELECT DAYOFWEEK('2021-01-17');-- 获取这一天在一周的第几天,星期天返回1,星期一返回2


SELECT WEEK('2021-01-17');-- 返回值范围是0-53 ,从周日算起,这是第三周的第一天,所以返回3

SELECT WEEKOFYEAR('2021-01-17');-- 获取当天是属于一年中的第几周,这个写法是周一算一周中的第一天,所以返回2

SELECT DAYOFYEAR('2020-12-30');-- 获取这一天是一年中的第几天,返回365;

SELECT DAYOFMONTH('2021-01-17');-- 获取这一天是这个月中的第几天,返回17;

SELECT DAYOFWEEk('2021-01-17');-- 获取这一天是这个周的第几天,周天是第一天,结果为1

SELECT DATE_FORMAT(NOW(),'%Y/%m/%d');-- 结果2021/01/19

SELECT DATE_FORMAT(NOW(),'%Y-%m-%d');-- 结果 2021-01-19 详细的格式,可以参考W3school的DATE_FORMAT函数的说明

SELECT VERSION();-- 获取系统版本

SELECT LAST_INSERT_ID();-- 执行完insert 之后,,立马执行这个函数,可以获取刚刚执行的这个表的自增id 的最大值 





  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值