各种数据库的日期、字符串的转换

今天做项目需要将数据库中的日期进行转换,于是就在网上搜索资料,最后汇总如下:
Oracle数据库
to_date函数:
//注意:java中MM代表月份,mm代表分钟,但sql不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle中用mi代替分钟。
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
to_char函数:
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟

/*******日期格式参数 含义说明 ********/
    D 一周中的星期几 
    DAY 天的名字,使用空格填充到9个字符 
    DD 月中的第几天 
    DDD 年中的第几天 
    DY 天的简写名 
    IW ISO标准的年中的第几周 
    IYYY ISO标准的四位年份 
    YYYY 四位年份 
    YYY,YY,Y 年份的最后三位,两位,一位 
    HH 小时,按12小时计 
    HH24 小时,按24小时计 
    MI 分 
    SS 秒 
    MM 月 
    Mon 月份的简写 
    Month 月份的全名 
    W 该月的第几个星期 
    WW 年中的第几个星期  1.日期时间间隔操作
    当前时间减去7分钟的时间
    select sysdate,sysdate - interval ’7’ MINUTE from dual
    当前时间减去7小时的时间
    select sysdate - interval ’7’ hour from dual
    当前时间减去7天的时间
    select sysdate - interval ’7’ day from dual
    当前时间减去7月的时间
    select sysdate,sysdate - interval ’7’ month from dual
    当前时间减去7年的时间
    select sysdate,sysdate - interval ’7’ year from dual
    时间间隔乘以一个数字
    select sysdate,sysdate - 8 *interval ’2’ hour from dual

参照: http://baike.baidu.com/link?url=INYB7HOicp4y6YKrzkpntDBim2SRgMmBm04WJ_J1mP_9NLbwoMJaZENEI03eFeizjHpVNgpLfXFER4TjL5tgFK
MYSQL数据库
date_format函数:
定义和用法
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
STR_TO_DARE(date,format)将字符串转日期类型
可以使用的格式有:
格式 	描述
%a	缩写星期名
%b	缩写月名
%c	月,数值
%D	带有英文前缀的月中的天
%d	月的天,数值(00-31)
%e	月的天,数值(0-31)
%f	微秒
%H	小时 (00-23)
%h	小时 (01-12)
%I	小时 (01-12)
%i	分钟,数值(00-59)
%j	年的天 (001-366)
%k	小时 (0-23)
%l	小时 (1-12)
%M	月名
%m	月,数值(00-12)
%p	AM 或 PM
%r	时间,12-小时(hh:mm:ss AM 或 PM)
%S	秒(00-59)
%s	秒(00-59)
%T	时间, 24-小时 (hh:mm:ss)
%U	周 (00-53) 星期日是一周的第一天
%u	周 (00-53) 星期一是一周的第一天
%V	周 (01-53) 星期日是一周的第一天,与 %X 使用
%v	周 (01-53) 星期一是一周的第一天,与 %x 使用
%W	星期名
%w	周的天 (0=星期日, 6=星期六)
%X	年,其中的星期日是周的第一天,4 位,与 %V 使用
%x	年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y	年,4 位
%y	年,2 位

实例

下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')

结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635

SqlServer数据库
使用 CAST:
CAST ( expression AS data_type )//将字符串转换成特定的各式 
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。
data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID 	Style 格式
100 或者 0 	mon dd yyyy hh:miAM (或者 PM)
101 		mm/dd/yy
102 		yy.mm.dd
103 		dd/mm/yy
104 		dd.mm.yy
105 		dd-mm-yy
106 		dd mon yy
107 		Mon dd, yy
108 		hh:mm:ss
109 或者 9 	mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 		mm-dd-yy
111 		yy/mm/dd
112 		yymmdd
113 或者 13 	dd mon yyyy hh:mm:ss:mmm(24h)
114 		hh:mi:ss:mmm(24h)
120 或者 20 	yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 	yyyy-mm-dd hh:mi:ss.mmm(24h)
126 		yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130		dd mon yyyy hh:mi:ss:mmmAM
131 		dd/mm/yy hh:mi:ss:mmmAM

实例
下面的脚本使用 CONVERT() 函数来显示不同的格式。
我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635

转载: http://www.w3school.com.cn/sql/func_convert.asp

猜你喜欢

转载自zq782388989.iteye.com/blog/2090132