以下是我的表结构:
DECLARE @FinalTable TABLE
(
[BranchID] BIGINT NULL,
[BranchName] NVARCHAR(MAX) NULL,
[Date] DATETIME NULL
)
我的MSSQLSERVER太疯狂了。它以MMDDYYYY格式保存日期时间,不知道我需要DDMMYYYY格式的SELECT语句输出。我厌倦了每次都在SELECT语句中使用 CONVERT()和 CAST()函数。
有没有办法用我的日期时间格式(即DDMMYYYY)声明表格列,这样我就不需要使用 CONVERT()或 CAST()函数每一次。
答案 0 :(得分:3)
不,不是。根本没有与该字段关联的格式信息。
该值未由数据库格式化,仅作为时间点返回。将该值格式化为它的文本表示是由从数据库获取数据的应用程序完成的。
因此,您无法在数据库中更改日期/日期时间值的格式,您必须更改数据的显示位置。
答案 1 :(得分:0)
日期时间以基于用户所选默认语言的默认格式存储在数据库中。但是,您可以在获取日期时间时操作格式。
以下是获取具有不同定义格式的数据的方法: All Formats for DateTime
但是,如果您仍想存储自己选择格式的日期时间,则必须创建一个Varchar
DataType列,然后在获取时将其转换为日期(不推荐)
Convert(datetime, Expression, FormatStyle)
有关详细信息,请查看以下答案: