mysql常用函数

来源:互联网 发布:捉鬼的软件 编辑:程序博客网 时间:2024/06/10 04:15

SELECT TIMESTAMPDIFF(YEAR, '2016-10-08 10:54:41',  CURRENT_TIMESTAMP())  AS  `YEAR`,TIMESTAMPDIFF(MONTH, '2016-10-08 10:54:41',  CURRENT_TIMESTAMP())  AS  `MONTH`,TIMESTAMPDIFF(DAY, '2016-10-08 10:54:41',  CURRENT_TIMESTAMP())  AS  `DAY`,TIMESTAMPDIFF(HOUR, '2016-10-08 10:54:41',  CURRENT_TIMESTAMP())  AS  `HOUR`,TIMESTAMPDIFF(MINUTE, '2016-10-08 10:54:41',  CURRENT_TIMESTAMP())  AS  `MINUTE`,TIMESTAMPDIFF(SECOND, '2016-10-01 10:54:41',  CURRENT_TIMESTAMP())  AS  `SECOND`,FROM_UNIXTIME(TIMESTAMPDIFF(SECOND, '2016-10-01 10:54:41',  CURRENT_TIMESTAMP()),'%d天%h小时%i分%s秒')AS DATE ;

1. ABS(X):返回X的绝对值                      --select abs(-90);

2.MOD(X,Y) 或 X%Y :返回余数             --select MOD(5,3);   select 5%3 ;   

3.FLOOR(X):返回不大于X的最大整数值。--select FLOOR(1.23);  select FLOOR(-1.23); 
4.CEILING(X):返回不小于X的最小整数值。 --select CEILING(1.23); select CEILING(-1.23); 

5.ROUND(X) :返回参数X的四舍五入的一个整数。--select ROUND(1.58); select ROUND(-1.58); 

日期:

1.DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)。
select DAYOFWEEK('1998-02-03'); 
select DAYOFWEEK(now()); 

2.WEEKDAY(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
select WEEKDAY('1997-11-05');

3.DAYOFMONTH(date):返回date的月份中的日期,在1到31范围内。 
select DAYOFMONTH('1998-02-03'); 

4.DAYOFYEAR(date):返回date在一年中的日数, 在1到366范围内。 
select DAYOFYEAR('1998-02-03'); 

5.MONTHNAME(date) :返回date的月份名字。 
select MONTHNAME("1998-02-05"); 

6.QUARTER(date):返回date一年中的季度,范围1到4。 
select QUARTER('98-04-01'); 

7.WEEK(date,first):对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。 
select WEEK('2009-02-20'); 
select WEEK('2009-02-20',0); 
select WEEK('2009-02-20',1); 

8.YEAR(date):返回date的年份,范围在1000到9999。 
select YEAR('98-02-03'); 

9.HOUR(time):返回time的小时,范围是0到23。
select HOUR('10:05:03'); 

10.MINUTE(time):返回time的分钟,范围是0到59。 
select MINUTE('98-02-03 10:05:03'); 

11.SECOND(time):回来time的秒数,范围是0到59。 
select SECOND('10:05:03'); 

**日期操作**

DATE_ADD(date,INTERVAL expr type) ,进行日期增加的操作,可以精确到秒
DATE_SUB(date,INTERVAL expr type) ,进行日期减少的操作,可以精确到秒

SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;

SELECT INTERVAL 1 DAY + "1997-12-31"; 
SELECT "1998-01-01" - INTERVAL 1 SECOND; 
SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 1 SECOND); 
SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL "1:1" MINUTE_SECOND); 

SELECT DATE_SUB("1998-01-01 00:00:00", INTERVAL "1 1:1:1" DAY_SECOND); 
SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY); 

CURRENT_DATE:以‘YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取决于函数在一个字符串还是数字上下文被使用。
select CURDATE(); 

CURRENT_TIME:以‘HH:MM:SS’或HHMMSS格式返回当前时间值
select CURTIME(); 

NOW():以‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回当前的日期和时间 
select NOW(); 




0 0
原创粉丝点击