sql server datetime问题

有一个字段time,数据类型是datetime ,我想在time里插入时间
insert into 表名(time)values getDate()这样结果是按年-月-日的顺序显示的

我想让它按日-月-年的顺序写入或者是按日-月-年的顺序输出应该怎么办?

插入的格式是跟随系统的,是系统处理的。所以如果是字符格式的日期,时间,是需要函数转换成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

温馨提示:内容为网友见解,仅供参考
无其他回答

SQL SERVER中datetime类型的显示格式问题
可以考虑使用SQL中convert函数转换datetime类型的显示格式。convert函数定义:CONVERT() 函数是把日期转换为新数据类型的通用函数。具体convert函数语法:CONVERT(data_type(length),data_to_be_converted,style)其中:data_type(length)为目标数据类型(带有可选的长度);data_to_be_converted为需要时间转换的...

sql server datetime问题
插入的格式是跟随系统的,是系统处理的。所以如果是字符格式的日期,时间,是需要函数转换成datetime格式的。getdate() 返回的值就是datetime格式的,是不用转换的。如系统时间格式为:yyyy-mm-dd HH:MM:SS 那么:getdate() 返回的就是 “2015-01-01 01:02:03”如系统时间格式为:mm-dd-mm HH:M...

sql server 数据库 datetime 获取当前时间 精确到小时
主要是时间格式问题,使用convert函数转换,当前时间使用getdate()就可以获得。select convert(varchar(16),getdate(),120)第三个参数给你附上mssql帮助里面的:

sql server 数据库 datetime 获取当前时间 精确到小时
回答:主要是时间格式问题,使用convert函数转换,当前时间使用getdate()就可以获得。 select convert(varchar(16),getdate(),120) 第三个参数给你附上mssql帮助里面的:

判断sql server中datetime字段是否为null的问题?
首先要看看你表里那个字段是否允许为null 如果允许,可以 update 表名 set 字段名=null where 字段名='2009-08-25'如果表里字段不允许为null,那要先改表字段的属性,后再update

SQL server 时间戳 (timestamp) 与时间格式 (datetime) 互转_百...
SQL Server中的时间戳(timestamp)和日期时间(datetime)是两种不同的时间数据类型。时间戳是一个自1970年1月1日00:00:00以来的秒数计数,它精确到毫秒,非常适合存储精确的时间信息。要将时间戳转换为可读的时间格式,只需将时间戳值加上1970年1月1日08:00:00这个基准时间。这个操作通常通过SQL...

如何去掉sql server里datetime类型里面的时间部分?
1、点击“开始”——“Microsoft SQL Server 2005”——“Microsoft SQL Server Management Studio”。 2、在打开的“连接到服务器”界面,输入服务器名称、数据库登录名和密码等信息。 3、点击“连接”,连接到SQL SERVER数据库。 4、使用Convert函数可以将字符串转换为日期类型,从而存储在日期时间类型的字段中。点击...

[SQL Server]从字符串转换为 datetime 时发生语法错误
可能是backtime 字段有非日期格式的值 用isdate(backtime) 先查查data 表 backtime 字段是否有非法值 如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。

关于sql server 2000中datetime类型的问题
datetime 是精确到毫秒的 从数据库取数据的时候,可以使用convert函数,将时间转为纯日期格式 示例:select convert(varchar(10),'2014-4-13 10:10:10.333',120)显示结果为:2014-04-13 select convert(varchar(7),'2014-4-13 10:10:10.333',120)显示结果为:2014-04 select convert(varchar(...

sql里时间为datetime类型,时间部分会自动为0:00:00,怎么修改这个时间的...
选中要设置的字段,在默认值中绑定默认值 默认值为当前时间:getdate()默认值为指定时间:'20160101',则显示该默认格式。

相似回答