我有一个列名为[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)格式。
答案 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
(我建议仅对输出有用)。