Sql Server 2005 standardでなった。
はまったのでメモ
datetime型の'2009-06-02 13:30:31.000'という値を
分単位まで使用したかった。その際、秒単位は無視したい。
select convert(smalldatetime,'2009-06-02 13:30:31.000')
というようなSQLを発行すると下記のような結果になる
実行結果
2009-06-02 13:31:00
31秒が丸められて、31分になる。秒部分は切り捨てだと思ってた。
なので、以下の方法で対処。
一回、秒以下を切り捨てて、それから変換する。
select convert(smalldatetime,convert(varchar(16),'2009-06-02 13:30:31.000'))
実行結果
2009-06-02 13:30:00