0

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

(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,因为改变了公式。

解决方案是什么?

4

2 回答 2

1

只需使用(CONVERT([datetime],[TradeDate],0)+CONVERT([datetime],[TradeTime],0))

于 2012-12-25T15:25:35.533 回答
0

SQL Server 添加0到您的转换表达式,因为这是默认样式,它以格式表示日期时间mon dd yyyy hh:miAM (or PM)

convert 函数中的第三个参数0 or 100表示样式。So 表示默认样式。因此您可以在创建计算列时指定样式。

CAST 和转换

于 2012-12-25T15:42:42.020 回答