【问题标题】:Change Datetime format in Microsoft Sql Server 2012在 Microsoft Sql Server 2012 中更改日期时间格式
【发布时间】: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


    【解决方案1】:

    SQL Server 不会以您认为的方式存储DATETIME 值。您看到的值就是 DBMS 选择将数据呈现为的值。如果您想更改DATETIME 类型的显示,可以使用SQL Server 2012 或更高版本中的FORMAT() 内置函数,但请记住,这是将其转换为VARCHAR

    您可以通过以下方式获得您想要的格式:

    SELECT FORMAT(YourDateField, N'dd.MM.yyyy HH:mm:ss')
    

    【讨论】:

    • 我想写:从表中选择日期列,我想得到结果:dd.MM.yyyy 00:00:000 .. 我不想在我的查询中选择格式。用功能做到这一点的方法是什么?或者我可以更改 sql server 语言吗?什么的。
    • SQL Server 不存储格式 - 如果您想更改它的显示方式,您需要将其转换为您想要的格式的VARCHAR。 SQL Server 不是表示层。
    • 有没有办法给出一个查询:从表中选择 datecolumn,我采用我想要的格式,然后在我选择 datecolmn 的地方返回 sql server 明白必须给我我给它的格式给他。例如,如果我使用某些功能或更改语言,或者我不知道
    • 我不明白你的问题是什么。如果要选择特定格式的内容,则需要在查询中指定。我在回答中提供的查询将返回您想要的格式。
    • 我更改了服务器,问题是新服务器具有其他日期时间格式,并且我已经有连接到该数据库的软件,并且无法更改软件中的所有查询。我想更改数据库中的日期时间格式。或者,如果当我选择日期时间的列时,我不可能以某种方式获得我想要的格式。但我不想选择 Convert(..) 或类似的东西。我搜索并发现我已经使用列属性中的公式完成了此操作
    【解决方案2】:

    没有DATETIME数据类型的格式,它本质上没有格式,formatted是你在转换为VARCHAR时可以设置的文本表示或者客户端/IDE的一些可视化设置。

    但是,如果您希望能够使用其他格式的字符串表示插入日期(即控制字符串输入被解析为日期时间类型的方式),您可以检查SET DATEFORMAT - 如备注部分所述,这将不更改日期字段/变量的显示表示。

    【讨论】:

      【解决方案3】:

      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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-30
        • 1970-01-01
        • 2018-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多