如何在 MSSQL 中声明具有 DDMMYYYY 格式的日期时间类型列



下面是我的表格结构:

DECLARE @FinalTable TABLE
(
[BranchID]          BIGINT          NULL,
[BranchName]        NVARCHAR(MAX)   NULL,
[Date]              DATETIME        NULL
)

我的MSSQLSERVER太疯狂了。它以 MMDDYYYY 格式保存日期时间,不知道我需要 DDMMYYYY 格式的 SELECT 语句输出。我厌倦了每次在 SELECT 语句中使用 CONVERT() 和 CAST() 函数。

有没有办法用我的日期时间格式(即 DDMMYYYY)声明表列,这样我就不需要每次都使用 CONVERT() 或 CAST() 函数。

不,不是。根本没有与该字段关联的格式信息。

该值不由数据库格式化,仅作为时间点返回。将该值格式化为其文本表示形式由从数据库获取数据的应用程序完成。

因此,您无法在数据库中更改日期/日期时间值的格式设置方式,您必须更改显示数据的位置。

日期时间以默认格式存储在数据库中,该格式基于用户选择的默认语言。但是,您可以在获取日期时间时操作格式。

以下是使用不同定义的格式获取数据的方法:日期时间的所有格式

但是,如果您仍然想存储自己选择格式的日期-时间,则必须使用 Varchar DataType 创建一个列,然后在获取它时转换为日期(不推荐)

Convert(datetime, Expression, FormatStyle)

有关更多信息,请查看以下答案:

答案1

答案2

最新更新