【发布时间】:2015-11-16 18:28:49
【问题描述】:
您好,我想更改 sql server 中的默认日期时间类型。我已经有表有行,我不想删除它们。现在有行的日期时间格式是:2015-11-16 09:04:06.000,我想更改16.11.2015 09:04:06,并且我插入的每个新行都想采用这种日期时间格式。
【问题讨论】:
标签: sql sql-server datetime sql-server-2012 format
您好,我想更改 sql server 中的默认日期时间类型。我已经有表有行,我不想删除它们。现在有行的日期时间格式是:2015-11-16 09:04:06.000,我想更改16.11.2015 09:04:06,并且我插入的每个新行都想采用这种日期时间格式。
【问题讨论】:
标签: sql sql-server datetime sql-server-2012 format
SQL Server 不会以您认为的方式存储DATETIME 值。您看到的值就是 DBMS 选择将数据呈现为的值。如果您想更改DATETIME 类型的显示,可以使用SQL Server 2012 或更高版本中的FORMAT() 内置函数,但请记住,这是将其转换为VARCHAR
您可以通过以下方式获得您想要的格式:
SELECT FORMAT(YourDateField, N'dd.MM.yyyy HH:mm:ss')
【讨论】:
VARCHAR。 SQL Server 不是表示层。
没有DATETIME数据类型的格式,它本质上没有格式,formatted是你在转换为VARCHAR时可以设置的文本表示或者客户端/IDE的一些可视化设置。
但是,如果您希望能够使用其他格式的字符串表示插入日期(即控制字符串输入被解析为日期时间类型的方式),您可以检查SET DATEFORMAT - 如备注部分所述,这将不更改日期字段/变量的显示表示。
【讨论】:
SQL 服务提供广泛的日期格式化功能或方式,用户可以根据需要更改日期格式。
下面有一些是给予者。
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
【讨论】: