CONVERT(文字列から日付型に変換)
構文
SQLServerで文字列を日付型に変換するには「CONVERT」を使います。
CONVERT(日付型, 文字列)
例1. 文字列を日付型に変換する(年月日)パターン
--文字列'20220901'を日付型に変換する SELECT CONVERT(DATETIME, '20220901'); [結果] 2022-09-01 00:00:00.000
CONVERTを使って、文字列「20220901」を日付型に変換することができました。
例2. 文字列を日付型に変換する(年月日)スラッシュ区切りパターン
--文字列'2022/09/01'を日付型に変換する SELECT CONVERT(DATETIME, '2022/09/01'); [結果] 2022-09-01 00:00:00.000
スラッシュ入りの文字列「2022/09/01」もCONVERTを使って日付型に変換することができました。
例3. 文字列を日付型に変換する(時間)パターン
--文字列'20220901 23:00:10'を日付型に変換する SELECT CONVERT(DATETIME, '20220901 23:00:10'); [結果] 2022-09-01 23:00:10.000
時間を含む文字列「20220901 23:00:10」もCONVERTを使って日付型に変換することができました。
--文字列'20220901230010'を日付型に変換する SELECT CONVERT(DATETIME, '20220901230010'); [結果] エラー(変換できない)
時間を含む文字列でも「20220901230010」の形式ではCONVERTを使っても日付型に変換することはできません。その場合、「日付」と「時間」の間に半角スペースを入れ、「時間」と「分」と「秒」の間にコロン(:)を入れてやればCONVERTで変換できます。
これで文字列を日付型に変換することができました。
以上、SQLServerで文字列を日付型に変換するCONVERTでした。
コメント
–文字列’20170101230010’を日付型に変換する
SELECT CONVERT(DATETIME, ‘20170101230010’)
[結果] エラー(変換できない)
↑これのやり方を検索してこのページにたどり着くやつしかこういうの検索しないはずなんだけど
このザマでページ公開してて恥ずかしくないの?