2
私は、クエリのSQL Server 2012のSQL Server 2016 でdate
とdatetime
種類を追加するの挙動の違いを見つけました:SQL2016でDATEADD運転中対立ではなく、2012
select convert(date,getdate())+getdate()
私はSQL2016でエラーが出ます:
データ型dateとdatetimeは、add演算子では互換性がありません。
2012年にはエラーが返されず、日付の中核部分だけが返されます。 このような動作の理由は何ですか?
2012年のどのバージョンを使用していますか?それは私のバージョンでは動作しません。とにかく怠惰な日付の計算を使うべきではありません。 DATEADDを使用する必要があります。とにかく現在の日付に現在の日付を加えた論理はどんな種類ですか?論理的には意味をなさない。それは2008R2で実行されますが、リターンは関係なく奇妙です。 –
これは論理的なナンセンスだった。ある時点で、MSは、加算演算子がより新しいデータ型をサポートしないが、datetimeの後方互換性サポートを継続することを決定した。進化する。 – SMor
それはほんの一例でしたが、DATEADDは明らかに優れていますが、私はそれを見つけて、どうして起こったのだろうかSQL2012のバージョンは11.0.6020.0で、2016のバージョンは13.0.4001.0 – Mat