SQLDate函数1.MySQL Date 函数
函数 描述
NOW() 返回当前的⽇期和时间
CURDATE() 返回当前的⽇期
CURTIME() 返回当前的时间
DATE() 提取⽇期或⽇期/时间表达式的⽇期部分
EXTRACT() 返回⽇期/时间按的单独部分
DATE_ADD() 给⽇期添加指定的时间间隔
DATE_SUB() 从⽇期减去指定的时间间隔
DATEDIFF() 返回两个⽇期之间的天数
DATE_FORMAT() ⽤不同的格式显⽰⽇期/时间
2.SQL Server Date 函数
函数 描述
GETDATE() 返回当前⽇期和时间
DATEPART() 返回⽇期/时间的单独部分
DATEADD() 在⽇期中添加或减去指定的时间间隔
DATEDIFF() 返回两个⽇期之间的时间
CONVERT() ⽤不同的格式显⽰⽇期/时间
3.SQL Date 数据类型
MySQL 使⽤下列数据类型在数据库中存储⽇期或⽇期/时间值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
oracle中trunc函数用法YEAR - 格式 YYYY 或 YY
SQL Server 使⽤下列数据类型在数据库中存储⽇期或⽇期/时间值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: 唯⼀的数字
4.Oracle⽇期函数:
--常⽤⽇期型函数
1)、Sysdate 当前⽇期和时间
Select sysdate from dual;
2)、Add_months(d,n) 当前⽇期d后推n个⽉
⽤于从⼀个⽇期值增加或减少⼀些⽉份
当前⽇期后两个⽉:
Select add_months(sysdate,2) from dual;
当前⽇期前三个⽉:
Select add_months(sysdate,-3) from dual;
3)、dbtimezone()返回时区
select dbtimezone from dual;
4)、round[舍⼊到最接近的⽇期](day:舍⼊到最接近的星期⽇)
select sysdate S1,
round(sysdate) S2 ,
round(sysdate,'year') YEAR,
round(sysdate,'month') MONTH ,
round(sysdate,'day') DAY fromdual
5)、next_day( date, weekday )指定⽇期的下⼀个⽇期
语法 : next_day( date,weekday )
select Next_day(to_date(20130107,'yyyymmdd'), 2) from dual ;
该函数功能很强⼤,但是需要注意,周⽇是1,周⼀是2,以此类推
6)、trunc[截断到最接近的⽇期,单位为天] ,返回的是⽇期类型
select sysdate S1,
trunc(sysdate) S2, --返回当前⽇期,⽆时分秒
trunc(sysdate, 'year') YEAR,--返回当前年的1⽉1⽇,⽆时分秒
trunc(sysdate, 'month')MONTH, --返回当前⽉的1⽇,⽆时分秒
trunc(sysdate, 'day') DAY --返回当前星期的星期天,⽆时分秒
from dual
7)、last_day ⼀个⽉中的最后⼀天
select last_day(Trunc(SYSDATE, 'MONTH')) from dual
返回最后⼀天;
如果直接使⽤ selectlast_day(SYSDATE) from dual,不仅仅会返回⽇期,还会返回当前的时分秒等内容;8)、to_date,to_char⽇期和字符转换函数⽤法
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; --⽇期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; --获取时间的年
select to_char(sysdate,'q') asnowSecond from dual; --获取时间的季度
select to_char(sysdate,'mm') asnowMonth from dual; --获取时间的⽉
select to_char(sysdate,'dd') asnowDay from dual; -获取时间的⽇
select to_char(sysdate,'hh24') as nowHour from dual; --获取时间的时
select to_char(sysdate,'mi') asnowMinute from dual; --获取时间的分
select to_char(sysdate,'ss') asnowSecond from dual; --获取时间的秒
将字符串转换为⽇期类型
select to_date('2013-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual ;
9)、months_between两个⽇期之间的⽉份差
select months_between(to_date(201302,'yyyymm'),to_date(201212,'yyyymm'))as ans from dual;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。