sql server datetime问题
insert into 表名(time)values getDate()这样结果是按年-月-日的顺序显示的
我想让它按日-月-年的顺序写入或者是按日-月-年的顺序输出应该怎么办? 展开
推荐于2016-05-13 · 知道合伙人软件行家
插入的格式是跟随系统的,是系统处理的。所以如果是字符格式的日期,时间,是需要函数转换成datetime格式的。getdate() 返回的值就是datetime格式的,是不用转换的。
如系统时间格式为:yyyy-mm-dd HH:MM:SS
那么:getdate() 返回的就是 “2015-01-01 01:02:03”
如系统时间格式为:mm-dd-mm HH:MM:SS
那么:getdate() 返回的就是 “01-01-2015 01:02:03”
输出是可以按需求自定义的,可以使用convert函数来格式化输出格式
CONVERT (data_type[(length)], expression [, style])
如图,以101格式显示日期
以下是常用格式列表,部分数据库有细微差异,如支持一些特定的时间格式
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM