.net column

.NET開発者のためのブログメディア
タイマー

SQL ServerのCONVERTやCASTを使って文字列を日付型に変換する

2020年04月13日

「SQL Serverで文字列を日付型に変換したい!」と思うことは多くあると思います。実はとても簡単です。
この記事では、CONVERTやCASTを使って文字列を日付型に変換する方法を紹介していきます。参考になれば幸いです。

SE
文字列から日付型の変換はなかなか覚えられなくて毎回調べてしまいます……
PL
ここで変換をする際の書き方を紹介しますので、ぜひ覚えて帰ってください。

SQL Serverで文字列を日付型に変換するには

では、さっそく使い方を見ていきましょう。

CONVERTを使う場合

CONVERTは任意の値を、指定したデータ型に変換するための関数です。
そして、CONVERT関数を使って文字列から日付型に変換する場合は、下記のように書きます。

※スタイルは省略可能です。

実際に書くと、このような記載になります。

—年月日を指定する場合—

—日時を指定する場合—

CASTを使う場合

CASTも、CONVERTと同様に値を任意のデータ型に変換することのできる関数です。
CASTを使う場合は以下のように書きます。

実際に書くと、このような記載になります。

—年月日を指定する場合—

—日時を指定する場合—

このように、CONVERTとCASTを使うことで文字列と日付型の変換を簡単に行うことができます。もし、スタイルを指定したい場合には、マイクロソフトの公式サイトからスタイルの一覧表を見ることができます。

使いやすい日付型は

前項では日付型に[DATETIME]を指定していますが、実は他にも様々な日付型があります。ここでは、その中でも使いやすい日付型を2つ紹介します。

使いやすい日付型1|DATETIME型

DATETIMEは、1秒未満の秒を含む24時間形式の日時を定義する日付型です。
形式と範囲は以下のとおりです。

  • 形式:YYYY-MM-DD hh:mm:ss[.nnn]
  • 範囲:1753-01-01~9999-12-31

使いやすい日付型2|TYMESTAMP型

TYMESTAMP型は、日付と日時両方を返す日付型。日付の計算をする際も便利です。
形式と範囲は以下のとおりです。

  • 形式:YYYY-MM-DD hh:mm:ss
  • 範囲:4713BC~29476AD
SE
なるほど……日付型の変換は簡単そうですね!今回は覚えられる気がします。
PL
使いやすい日付型もあるので、ぜひ活用してみてくださいね。

日付型を制するものはプログラムを制す

今回は、SQL Serverで文字列を日付型に変換する方法や、プログラムを書く上で使いやすい日付型を紹介しました。たかが日付型ですが、されど日付型です。深く考えずに日付型を指定すると、入力値が無かったときにバグが出るなど思わぬエラーに遭遇することもありますので、ぜひシステムに適した日付型を使うようにしてみてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)