我用这个公式创建了一个计算列:
(CONVERT([datetime],(CONVERT([varchar],[TradeDate])+' ')+CONVERT([varchar],[TradeTime])))
但是当我保存表格时,公式会自动更改为:
(CONVERT([datetime],(CONVERT([varchar],[TradeDate],0)+' ')+CONVERT([varchar],[TradeTime],0),0))
所以它导致了这个问题:
假设TradeDate
为:2012-08-13
且TradeTime
为:10:29:59.0000000
而不是显示2012-08-13 10:29:59.000
,而是显示2012-08-13 10:29:00.000
,因为更改了公式。
解决方案是什么?
答案 0 :(得分:1)
只需使用(CONVERT([datetime],[TradeDate],0)+CONVERT([datetime],[TradeTime],0))
答案 1 :(得分:0)
SQL Server将0
添加到转换表达式,因为这是以mon dd yyyy hh:miAM (or PM)
convert函数中的第3个参数表示style.So 0 or 100
表示默认样式。因此,您可以在创建计算列时指定样式。