【问题标题】:SQL Server Date format differenceSQL Server 日期格式差异
【发布时间】:2014-02-11 06:37:34
【问题描述】:

我已将 SQl Server DB 设置为英式英语。我运行以下命令来检查它是否是英式英语,并且是

select name ,alias, dateformat
from syslanguages
where langid =
(
    select value from master..sysconfigures
    where comment = 'default language'
);

但在表格中,日期显示为国际日期和时间。

背景:我将表从 Access DB 迁移到 SQL Server。除了更改语言之外,我没有运行任何代码来更改日期在表格中的显示方式。

谢谢 马格斯

【问题讨论】:

  • 日期不以任何格式存储;显示由处理显示的工具决定。我认为你想要并且应该更喜欢一种明确、清晰、国际化的格式,只是你还没有意识到这一点。
  • 您需要告诉我们:这些“日期”存储在什么数据类型中?它们是正确的日期数据类型(DATE 或 DATETIME)还是某种字符存储(VARCHAR 等)

标签: sql-server date


【解决方案1】:

SQL Server 在内部将日期时间存储为一个 8 字节字段。无论数据库语言/日期格式是什么,内部存储保持不变。您所做的所有语言设置都是更改日期时间显示为字符串的默认方式,例如当您选择日期时间列时在 SSMS 中

您可以使用 CAST AND CONVERT 数字选项控制日期时间的外观,例如120 选择转换(VARCHAR,GETDATE(),120) 有关所有其他选项,请参阅联机丛书中的 CAST 和 CONVERT

还要检查您的 Access 表导入到的列类型。接受默认值时,很容易将所有内容导入为 nvarchar(255)。

【讨论】:

    猜你喜欢
    • 2018-05-09
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多