计算列公式

时间:2012-12-25 14:05:25

标签: sql-server formula calculated-columns

我用这个公式创建了一个计算列:

(CONVERT([datetime],(CONVERT([varchar],[TradeDate])+' ')+CONVERT([varchar],[TradeTime])))

但是当我保存表格时,公式会自动更改为:

(CONVERT([datetime],(CONVERT([varchar],[TradeDate],0)+' ')+CONVERT([varchar],[TradeTime],0),0))

所以它导致了这个问题:

假设TradeDate为:2012-08-13TradeTime为:10:29:59.0000000

而不是显示2012-08-13 10:29:59.000,而是显示2012-08-13 10:29:00.000,因为更改了公式。

解决方案是什么?

2 个答案:

答案 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表示默认样式。因此,您可以在创建计算列时指定样式。

CAST and Convert