Maison > Article > base de données > Mysql与Oracle常用时间格式的转换
Oracle与Mysql在传入时间的式上大不相同,而自己去找又花了很久的时间。所以想把它记下来。 1.oracle中 “TO_CHAR (date, 'yyyy-mm-IW-dd-Day')” 在这个字串中,看得出Oracle常用的一些时间式,是数据库为我们提供的一些基本数据 年:yyyy(表示年的位数)
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问题解决了