MySQL基本操作函数(日期,字符串,数字)

文章目录

  • 1. 日期时间函数
  • 2. 字符串相关函数
    • 补:dual
    • 日期转字符串:
    • 字符串转日期:
  • 3. 数学相关函数
    • 补:向上向下取整

1. 日期时间函数

MySQL基本操作函数(日期,字符串,数字)_第1张图片

MySQL里面时间分为三类:时间、日期、时间戳(含有时分秒的sysdate)。

如执行:

select now(), year(now()) 年, month(now()) 月, day(now()) 日, date(now());
		
select CURRENT_DATE() , CURRENT_TIME(),  CURRENT_TIMESTAMP() from dual; 
		
昨天、今天、明天:
	select now()-1 昨天, now() 今天, now()+1 明天 from dual;
发现与Oracle中的日期加减操作有所不同。

MySQL基本操作函数(日期,字符串,数字)_第2张图片

select date_add(now(), INTERVAL 2 year) from dual;	//增加两年

select date_add(now(), INTERVAL -1 day) 昨天, now() 今天, date_add(now(), INTERVAL +1 day) 明天;  

MySQL基本操作函数(日期,字符串,数字)_第3张图片

2. 字符串相关函数

补:dual

dual虚拟表
为了满足 select …from …; 格式用的
比如:
select sysdate from dual;
获取系统时间。
其实mysql也有 select now();方式 不需要dual


select concat('hello ', 'mysql ', 'haha ', 'hehe ') from dual;   
	(Oracle默认只能拼两个,如需多个拼接可以使用嵌套。)
select 'hello ' || 'mysql ' from dual;||’ 在 MySQL不可以使用。

MySQL基本操作函数(日期,字符串,数字)_第4张图片

日期转字符串:

在MySQL中没有to_date函数,进行日期转换需使用date_format()来代替

select date_format('2013-5-11', 'yyyy-mm-dd') from dual; 
 	在Oracle中的‘yyyy-mm-dd’MySQL下不支持。
select date_format(now(), '%Y-%m-%d') from dual; 			
	 y和Y不一样。
select date_format(now(), '%Y-%c-%d %h:%i:%s') from dual; 	 
	c和m、M不一样
所以yyyy-mm-dd hh24:mi:ss格式在MySQL中对应'%Y-%c-%d %h:%i:%s'

MySQL基本操作函数(日期,字符串,数字)_第5张图片

字符串转日期:

	select str_to_date('2013-6-04 05:14:15' , '%Y-%c-%d %h:%i:%s') from dual;

3. 数学相关函数

补:向上向下取整

向上取整 不管四舍五入的规则 只要后面有小数前面的整数就加1
向下取整 不管四舍五入的规则 只要后面有小数忽略小数


MySQL基本操作函数(日期,字符串,数字)_第6张图片
数学相关函数就不给予展示

你可能感兴趣的:(MySQL,字符串,数据库,mysql,sql)