转换日期时间' YYYY-MM-DD HH:mm:ss'到ⅅ MM / YYYY HH:mm:ss'

时间:2017-06-22 11:04:29

标签: sql sql-server database date datetime

我有一个列名为[Create_Date] as [Datetime]的表格(例如=' 2016-06-07 07:29:45.290')。

我的客户希望此列格式为DD\MM\YYYY hh:mm:ss(例如=' 07/06/2016 07:29:45')。

我是这样做的:

SELECT  FORMAT ( convert(datetime2(0),create_date), 'dd/MM/yyyy hh:mm:ss', 'en-US' ) as Record_Date;

此解决方案的问题是,列类型Record_Date是[varchar],我希望它采用datetime2(0)格式。

1 个答案:

答案 0 :(得分:3)

日期/时间值以内部格式存储。返回时,它们以内部格式返回。然后,读取数据的应用程序决定如何格式化值。

可以做的一件事是创建一个计算列,其值格式为字符串。如果你的代码有效,你可以这样做:

alter table t
    add create_date_ddmmyyyy as (format( convert(datetime2(0), create_date), 'dd/MM/yyyy hh:mm:ss', 'en-US' ) );

然后,只要您需要格式化版本,我就可以参考create_date_ddmmyyyy(我建议对输出有用)。