2015年10月9日金曜日

SQL 算術オーバーフロー エラー

「expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。」

こんにちはYです。
クエリを実行中、上記のエラーが発生してちょっと調べてみました。


declare @datetimedisp datetime
set @datetimedisp = 20160101

select
    *
from
    mst_table
where
  1 = 1


どうやら、int型の20160101をdatetime型に暗黙的キャストをSQLServerが行っていたらしく、
キャストの失敗が原因でこのようなエラーが起きていたのだとわかりました。

正しくは 「2016-01-01」または「2016-01-01 00:00:00」と代入するのが正しいようです。
久しぶりに触って忘れていたことでした。

Related Posts:

  • DISTINCTを使って重複を除外して表示DISTINCTを使って重複を除外して表示 こんにちは山田です。 DB環境:MSSQL 登録したデータから、このカラムってどんな種類があったっけ? と思った時に役立つ方法です。 つまり 取り出したレコードから重複する行を除外することができます。 ■元のテーブル category … Read More
  • SQL 算術オーバーフロー エラー「expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。」 こんにちはYです。 クエリを実行中、上記のエラーが発生してちょっと調べてみました。 declare @datetimedisp datetimeset @datetimedisp =… Read More
  • SQLで列の最大値をだすこんにちわ山田です。 ポッキーの日の翌日になるのですが、 この日にあやかって薬用石鹸のミューズが小ネタを挟んできてびっくりしました。 気になった方は知らない人は、ポッキー、ミューズで検索すると出てくると思います。 さて、本日はSQL操作の小ネタになります。 使用環境:Microsoft SQL S… Read More
  • 【SQLserver】DBテーブル内のカラムにコメントを登録するこんにちわ、開発者のⅠです。 さて、今回はDB操作に関するお話です。 クエリ文を作成しそれをプログラム上で実行することで、新規テーブルの作成やカラム追加など、様々な操作が可能です。 その中で、今回はカラムにコメントを登録する方法を伝えします。 カラムの定義変更や追加には【ALTER TABLE】… Read More
  • クエリの速度を見る方法 こんにちわ山田です。 MSのManagement Studio を使った SQL Server の操作で クエリの実行速度の計測方法を知ったのでその覚書です。 いつも使っているクエリの実行の右隣に、 「実行プラン」と「クライアント統計」というアイコンがあります。 選択して、いつも通りクエ… Read More

0 コメント:

コメントを投稿