一、日期函数
1.函数总览
函数名称 | 描述 |
---|
current_date() | 当前日期 | current_time() | 当前时间 | current_timestamp | 当前时间戳 | date(datetime) | 返回datetime参数的日期部分 | date_add(date,interval d_value_type) | 在date中添加日期和时间interval后的数值单位可以是year minute second day | date_sub(date,interval d_value_type) | 在date中减去日期或时间interval后的数值单位可以是year minute second day | datediff(date1,date2) | 两个日期的差,单位是天 | now() | 当前日期时间 |
2.应用
mysql> select current_date();
mysql> select current_time();
mysql> select current_timestamp;
mysql> select date_add('1995-2-2',interval 20 day);
mysql> select date_sub('2022-10-1',interval 2 day);
mysql> select datediff('2022-10-3','2002-6-1');
创建一个生日表:
mysql> create table birthday( id int primary key auto_increment, birthday date );
insert into birthday (birthday) values(current_date());
创建一个留言表:
mysql> create table msg(
-> id int primary key auto_increment,
-> content varchar(30) not null,
-> sendtime datetime
-> );
mysql> insert into msg (content,sendtime) values('AA','2022-10-9');
mysql> insert into msg (content,sendtime) values('AA',current_timestamp());
mysql> insert into msg (content,sendtime) values('AA',now());
对于datetime类型有三种插入方式,一种是手动插入,一种是使用时间戳进行插入,一种是使用now()函数进行插入。
二、字符串函数
1.函数总览
函数名称 | 描述 |
---|
charset(str) | 返回字符串字符集 | concat(string2 [,…]) | 连接字符串 | instr(string,substring) | 返回substring在string中出现的位置,没有返回0 | ucase(string2) | 转换成大写 | lcase(string2) | 转换成小写 | left(string2,length) | 从string2中的左起取length个字符 | length(string) | string的长度(字节) | replace(str,search_str,replace_str) | 在str中用replace_str替换search_str | strcmp(string1,string2) | 逐字符比较两字符串的大小 | substring(str,position [,length]) | 从str的position开始,取length个字符 | ltrim(string) rtrim(string) trim(string) | 去除前空格或后空格 |
2.应用
我们使用oracle 9i的表来进行演示:
mysql> select charset(ename) from emp;
mysql> select concat('雇员名字:',ename,'工作:',job) as '雇员管理' from emp;
mysql> select length(ename) from emp;
mysql> select replace(ename,'S','伤害'),ename from emp;
mysql> select substring(ename,2,2),ename from emp;
mysql> select concat(lcase(substring(ename,1,1)),substring(ename,2)) ename from emp;
思路是通过substring函数先将字符串中第一个字符截取出来,使用lcase进行处理之后,再与剩余的部分进行拼接。
mysql> select ltrim(" abec");
mysql> select rtrim("abec ");
mysql> select trim(" abec ");
三、数学函数
1.函数总览
函数名称 | 描述 |
---|
abs(number) | 绝对值函数 | bin(decimal_number) | 十进制转换二进制 | hex(decimalNumber) | 转换成十六进制 | conv(number,from_base,to_base) | 进制转换 | ceiling(number) | 向上取整 | floor(number) | 向下取整 | format(number,decimal_places) | 格式化,保留小数点位数 | hex(decimalNumber) | 转换成十六进制 | rand() | 返回随机浮点数,范围[0.0,1.0) | mod(number,denominator) | 取模,求余 |
2.应用
mysql> select abs(-100.3);
mysql> select ceiling(8.8);
mysql> select ceiling(8.1);
mysql> select ceiling(-8.1);
mysql> select ceiling(-8.9);
向上取整函数的上,表示的是正无穷方向的上。 向下取整同理,下指的是负无穷的方向。
mysql> select format(3.1415926,4);
mysql> select rand();
四、其他函数
1.函数总览(待补充)
函数名称 | 描述 |
---|
user() | 当前用户 | md5(str) | 对一个字符串进行摘要(加密使用) | database() | 显示正在使用的数据库 | password() | 加密与md5类似 | ifnull(val1,val2) | 如果val1为null,返回val2,否则返回val1的值 |
2.应用
mysql> select user();
mysql> select database();
mysql> select md5('admin');
mysql> select password('admin');
通常来讲在服务器中存储的密码是以这种加密方式存储的。
mysql> select ifnull(null,'123');
mysql> select ifnull('1234','123');
mysql> select ifnull(null,null);
|