mysql 日期函数

#title: 常用的日期推算处理
#auther: 小强(占卜师)
#date:
2007-12-25

#取得当前日期
set @dt=CURDATE();
select @dt;


#当前日期这个月的第一天
select concat(left(@dt,8),'1');

#当前日期这个月的最后一天
select date_sub(concat(left(date_add(@dt,INTERVAL 1 MONTH),8),'01'),INTERVAL 1 DAY);

#当前日期这个季度的第一天
select concat(left(@dt,5),quarter(@dt)*3-2,'-01');
select date_sub(concat(left(@dt,5),quarter(@dt)*3,'-01'),INTERVAL 2 MONTH);

#当前日期这个季度的最后一天
select date_sub(date_add(concat(left(@dt,5),quarter(@dt)*3,'-01'),INTERVAL 1 MONTH),INTERVAL 1 DAY);

#当前日期这年的第一天
select concat(left(@dt,5),'01-01');

#当前日期这年的最后一天
select concat(left(@dt,5),'12-31');

#title: 日期截取/转换
#auther: 小强(占卜师)
#date:
2007-12-19

#取得当前日期
set @dt=CURDATE();
select @dt;

#取得当前时间包括日期部分
SET @dt=now();
select @dt;

#截取日期部分
#方法1
select date(@dt);
#方法2
select left(@dt,10);
#方法3
select cast(@dt as char(10));

#将日期替换为短日期格式 如:
2007-5-6
SELECT REPLACE(date(@dt),'-0','-');

#转换时间输出格式
SELECT DATE_FORMAT(@dt,'%Y-%c-%d');
SELECT DATE_FORMAT(@dt,GET_FORMAT(DATE,'EUR'));
SELECT DATE_FORMAT(@dt,GET_FORMAT(DATE,'ISO'));

#将不规则的日期转换为mysql的标准日期
set @dt = '10.31.2003';
select STR_TO_DATE(@dt,'%c.%d.%Y');
select STR_TO_DATE(@dt,GET_FORMAT(DATE,'USA'));

set @dt = '10/31/2003';
select STR_TO_DATE(@dt,'%c/%d/%Y');
select STR_TO_DATE(REPLACE(@dt,'/','.'),GET_FORMAT(DATE,'USA'));
posted @ 2008-09-04 04:41  二宝的博客  阅读(170)  评论(0编辑  收藏  举报