MySql日期处理系列-日期截取/转换方法
时间:2008-04-17 来源:flyingnn
以下都是我平时用的一些日期截取/转换方法,方法并不一定是最有效率的.全部均通过测试!
转载请注明来自[phpchina.com]
#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'));
#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'));
相关阅读 更多 +