
获得年月日:

获得时分秒:

将前二者结合:

获得时间戳:

相同作用的函数还有now():

date(datetime),datetime可以是各种日期,也可以是上述的各类函数,最终得到的是所述内容中的日期部分。
常量

各类函数:

在日期的基础上加日期:
interval后面的数值单位可以是:year、month、day。

date也可以是函数的返回值

在日期的基础上减日期:
interval后面的数值单位可以是:year、month、day。

date也可以是函数的返回值

l两个日期的差,即date1-date2,单位是天。

当然,date一样可以是函数的返回值

案例-1:
create table tmp(
id int primary key auto_increment,
birthday date
);insert into tmp(birthday) values(current_date());
insert into tmp(birthday) values(date(current_timestamp()));
案例-2:
create table msg (
id int primary key auto_increment,
content varchar(30) not null,
sendtime datetime
);insert into msg(content,sendtime) values('像风一样', now());
insert into msg(content,sendtime) values('致未来的我', now());

有两种方式去查询,即通过date_add()比较,或者通过date_sub比较。但都是一个道理。
select * from msg where date_add(sendtime, interval 2 minute) > now();
或者:
select * from msg where date_sub(now(), interval 2 minute) < sendtime;

获取emp表的ename列的字符集


连接字符串

判断substring是否出现在string中,若找到,则返回匹配的起始位置。找不到则返回0

小写转大写

大写转小写

从string2的左边起提取length个字符

也有right,即从string2的右边起提取length个字符,就不一一演示了。
求字符串长度

比较string1与string2大小

ltrim(string) :去除左空格
rtrim(string): 去除右空格
trim(string):去除字符串的左右空格。

其余的函数就通过下面的具体样例演示:



length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)

这种改变是在select时的改变,其并不会改变数据库的数据,仅仅是显示时的替换。

先显示

再拼接


select abs(-100.2);
select bin(100);
select hex(100);
例如:将100从10进制转换成2进制
select conv(100, 10, 2);
select ceiling(100.5);
select floor(23.7);
比如将3.1415926保留两位小数:
select format(3.1415926, 2);
select rand();
select mod(10, 3);
ps:关于负数取模,这里不演示。
以上的函数都可以嵌套,即任意一个函数的返回值可以充当另一个函数的参数,如果这个函数存在参数,并且类型满足的话。
select user();
select md5('admin');

产生的子串是等长的,这也就意味着,在select按照密码匹配的时候,就需要根据md5(‘密码’)映射出对应的32位字符,才可以匹配成功。
select database();
select password('123');相比md5,此函数更普遍受用。


扩展:
若数据库执行语句字段包含password字段,则我们在上翻下翻时就查不到历史对应的语句。