您的位置:首页 > 数据库 > Oracle

Mysql与Oracle常用时间格式的转换

2015-01-29 23:20 323 查看
Oracle与Mysql在传入时间的格式上大不相同,而自己去找又花了很久的时间。所以想把它记下来。

1.oracle中 “TO_CHAR (date, 'yyyy-mm-IW-dd-Day')”

在这个字串中,看得出Oracle常用的一些时间格式,是数据库为我们提供的一些基本数据

年:yyyy(表示年的位数)

月:mm(1..12)

周:IW(一年中对应的周,其中形式为(
01
..
53
))

天:dd(每天对应月中的数字)

星期:Day (形式为“星期一..星期日")

里面的这些字段可以随意的组合,Oracle中得到的Day形式为“星期一、星期日等”

2.mysql中获取时间字串为 “DATE_FORMAT(date,'%Y-%m-%v-%d-%W')”

这个字串为mysql为我们提供的一些时间格式但是与Oracle的时间数据大有不同

年:%Y(4个数字,eg:2015) %y(2个数字,eg:15)

月:%m (数字形式 (
00
..
12
))
%M(英文,如
January
..
December


周:%v(数字形式为(
01
..
53
)是以Monday为周的第一条)

%V(数字形式为(
01
..
53
)是以Sunday为周的第一条)

天:%d (数字形式为(
00
..
31
))
%D(数字形式为(
0th
,
1st
,
2nd
,
3rd
,
…))

星期:%W (英文形式(Monday..Sunday))

常用到的一些时间格式就差不多以上这些了,另外还涉及到它们的一些函数

比如Oracle中的to_char()来获取到时间的不同的形式

Mysql中data_format()来获取到时间的不同的形式
,

UNIX_TIMESTAMP()来得到两个日期的秒差。

还有一个比较让我记忆深刻的一个问题:

在oracle中对星期进行排序 一直郁闷的是不能按照我的想法进行排序,才发现Oracle中是以拼音来进行排序的,所以一直乱,过后想了一个办法,在星期"Day"的前面加入一个天“dd”他们对应的时间是一样,但是"dd"是数字形式可以进行排序,最后可以把你想要的“星期”取出来。ok问题解决了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: