エクセル 日付が数字になってSQLが作れないのをなんとかする

  • このエントリーをはてなブックマークに追加
  • Pocket

よくある「エクセルを送るのでDBに入れておいて」という如何ともしがたい事由。

セルを組み合わせてSQLを作成してクエリを流すことをやるわけだが、セルの書式設定が”日付”になってる項目があると”42493″とかの数値になってしまってイクナイ。

全部文字列として送っていただきたいところではあるが、そこらの事情を説明するのもめんどくさいので黙ってこちらが死ぬことにする。

“日付”のセルを文字列にする

セルの書式設定で”文字列”に変更すれば行ける気がするが、
実際は気がするだけでご所望の通りにならない。
excel01

ちなみに、そのままSQLを組み立てようとするとこんな感じになる。
excel02PNG

クエリ文字列の中で”42341″となってしまう。

これで入れるとdateは “0000-00-00 00:00:00” になっちゃうのでアカン。

TEXT関数

エクセルには TEXT関数 というのがあるのでこれを使うと万事解決。

日付以外にもいろいろフォーマットがあるようだ。

TEXT関数を使った結果がコレ。
excel03

クエリもちゃんと日付になってる。

これで誰も不幸にならないで明日食うメシもおいしく頂ける。

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*