赞
踩
//获取日期
select current_date();
//获取时间
select current_time();
//获取时间戳, 格式为日期+时间
select current_timestamp();
//获取当前时间, 格式为日期+时间
select now();
//获取参数的日期部分
select date('datetime');//括号内可以直接写now()
//增加日期, 增加部分的可以是年月日, 日期部分可以写date(now())来获取
select date_add('2024-02-15', interval 7 day);
//第一个日期减第二个日期的值, 可以有负值, 可以用date(now())
select datediff('2024-02-05', '2024-01-01');
实例
create table tmp( id bigint primary key auto_increment, birthday date not null );
创建好后,插入一些时间类型的数据
insert into tmp (birthday) values ('2001-04-07');
insert into tmp (birthday) values (current_time());
insert into tmp (birthday) values (current_date());
insert into tmp (birthday) values (now());
insert into tmp (birthday) values (current_timestamp());
无论怎么插入,都变成了日期格式
做一个简易留言表
create table msg( id int primary key auto_increment, content varchar(30) not null, sendtime datetime );
//统计2分钟内的评论
select content,sendtime from msg where sendtime > date_sub(now(), interval 2 minute);
select content,sendtime from msg where date_add(sendtime, interval 2 minute) > now();
//查看字符集, 比如汉字就是utf8, 也可以是一个列名 select charset(''); //拼接字符, 拼接前都转成字符 select concat('', ''); //找到第二个字符串在第一个字符串的起始位置 select instr('', ''); //转为全大写 select ucase(''); //转为全小写 select lcase(''); //从最左边开始取指定长度的字符 select left('', 4); //从最右边开始取指定长度的字符 select right('', 4); //获取字符串长度 select length(''); //从str字符串中查找ss, 找到后用rs替换 select replace(str, ss, rs); //同C语言 select strcmp(str1, str2);
以之前的一个表为例。内容不重要,重点是写法。
select concat('考生姓名: ',name, ', 总分: ', chinese+math+english) msg from exam_result;
如果length(),括号里的是中文字符,那么就按照一个字符3个字节这样计算,也就是两个汉字的话显示出来的就是6。
//有S的字符串将S替换成D
//替换是拷贝一份, 对拷贝的部分进行替换
select replace(列名, 'S', 'D') from 表名;
//截取部分字符串, 从字符串某个位置开始截取指定长度的字符串, 位置从1开始数
select substring('', 2, 2) from 表名;
//去除左侧空格
ltrim('');
//去除左右两侧空格
trim('');
//去除右侧空格
rtrim('');
//绝对值 abs(); //数字转成二进制 bin(); //十进制转十六进制 hex(); //进制转换, 从前一个进制转为后一个进制 conv(number, from_base, to_base); //向下取整 ceiling(); //向上取整 floor(); //保留小数后面的位数, int就是位数 format(number, int); //模运算, 可进行负数运算 mod(); //随机数 rand();
//查看用户
user();
//md5摘要(网络CA协议), 生成32位字符串
md5();
//如果val1为null就返回val2, 否则返回val1
//参数类型不局限于int
ifnull(val1, val2);
//加密
password();
结束。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。