目录
4.4. PASSWORD()函数,MySQL使用该函数对用户进行加密
4.5. IFNULL(VAL1, VAL2)如果VAL1为NULL,返回VAL2,否则返回VAL1的值
1. 日期函数
获得年月日
SELECT CURRENT_DATE;
获取时分秒
SELECT CURRENT_TIME;
获得时间戳
SELECT CURRENT_TIMESTAMP;
在日期的基础上加日期
SELECT DATE_ADD(CURRENT_DATE, INTERVAL 10 DAY);
在日期的基础上减去时间
SELECT DATE_SUB(CURRENT_DATE, INTERVAL 2 DAY);
计算两个日期之间相差多少天
SELECT DATEDIFF(CURRENT_DATE, '2022-01-01');
简单实用日期函数
案例:创建一个留言表
CREATE TABLE Message (
name varchar(20),
sendtime datetime
);
插入数据
insert into Message values('01', current_date());
insert into Message values('02', current_date());
显示所有留言信息,只显示日期,不显示时分秒
SELECT name, date(sendtime) FROM Message;
查询在2分钟内发布的贴子
SELECT * FROM Message WHERE DATE_ADD(sendtime, interval 2 minute) > CURRENT_DATE;
2. 字符串函数
charset
SELECT CHARSET('HELLO WORLD');
concat
SELECT CONCAT('HELLO ', 'WORLD ','WELCOME');
instr
SELECT INSTR('AAAHAHABBB', 'HAHA');
ucase
SELECT UCASE('hahaha');
lcase
SELECT LCASE('HAHA');
left
SELECT LEFT('123456789', 2);
right
SELECT RIGHT('123456789', 2);
length
SELECT LENGTH('HELLO WORLD');
replace
SELECT REPLACE('123456789', '5', 'AA');
strcmp
SELECT STRCMP('A','A');
SELECT STRCMP('AB','A');
SELECT STRCMP('A','AB');
substring
SELECT SUBSTRING('123456789', 4);
ltrim,rtrim,trim
SELECT LTRIM(' HELLO');
SELECT RTRIM('HELLO ');
SELECT TRIM(' HELLO ');
3. 数学函数
conv
SELECT CONV(123, 10,2);
ceiling
SELECT CEILING(12.1);
floor
SELECT FLOOR(12.9);
format
SELECT FORMAT(0.123456789, 4);
rand
SELECT RAND();
取某一区间内的数
SELECT 5 + FLOOR(5 * RAND());
mod
SELECT MOD(123, 10);
4. 其他函数
4.1. USER()查询当前用户
SELECT USER();
4.2. MD5(STR)对一个字符串进行md5摘要
SELECT MD5('HELLO WORLD');
SELECT LENGTH(MD5('HELLO WORLD'));
4.3. DATABASE()显示当前正在使用的数据库
SELECT DATABASE();
4.4. PASSWORD()函数,MySQL使用该函数对用户进行加密
SELECT PASSWORD(USER());
4.5. IFNULL(VAL1, VAL2)如果VAL1为NULL,返回VAL2,否则返回VAL1的值
SELECT IFNULL('123', '456');
SELECT IFNULL(NULL,'456');
SELECT IFNULL(NULL,NULL);
SELECT IFNULL('123', NULL);