
SQLServer 2005にて文字列型に入っている日付データの変換を行いたいと思っています。
現状yyyy/M/d(2010/1/1)のようになっているのをyyyy/MM/dd(2010/01/01)に変換したい
のですが方法が分かりません。
SELECT
CONVERT(DATETIME,(CONVERT(VARCHAR(10),テーブルの値)),120)
FROM
テーブル名
とするとCHAR データ型から DATETIME データ型への変換の結果が日付/時刻の値の範囲外です。
というエラーになっていまいます。どういった方法なら実現できるのでしょうか。
すみませんがご教授ください。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
こんにちは。
そうでしたら、下記のようにしてみてください。
最初の回答の内容でエラーになったとしたら
現在のデータに日付型に合わないデータが含まれているからだと思います。
一応、下記のSQLだとエラーにはならないと思いますが、
間違えているデータは探して修正した方がいいかと思います。
-- #### テーブル作成
CREATE TABLE dbo.TempData
(
RegDate varchar(10)
)
-- #### テストデータ登録
INSERT INTO dbo.TempData
SELECT '2010/1/1' UNION ALL
SELECT '2010/1/2' UNION ALL
SELECT '2010/1/3' UNION ALL
SELECT '2010/1/4' UNION ALL
SELECT '2010/9/5' UNION ALL
SELECT '2010/10/14'
-- #### データ確認
SELECT LEFT(RegDate,4)+'/'
+RIGHT('0'+REPLACE(SUBSTRING(RegDate,6,2),'/',''),2)+'/'
+RIGHT('0'+REPLACE(RIGHT(RegDate,2),'/',''),2)
FROM dbo.TempData
出来ました!有難うございます!
そういう方法があったとは思いもよりませんでした。
非常に助かりました!
お礼が遅くなってしまい申し訳ありません。
あ~よかった・・・。
No.4
- 回答日時:
文字列型の数値変換ですか?
意味不明です。
数字自体、文字列ではないので。
数値型からデートタイムに変換するべきことです。
私自身よく出来た話です。
文字列型から、デートタイムに変換すると
yyyy/m/dなら出来ますが、
yyyy/mm/ddに変換は不可能です。
数値型でもキー入力で数字に変換されますから、
他のウェブサイトで拝見したほうがよろしい。
楽天市場の買い物の数値型も。
No.2
- 回答日時:
一つのSQLだけでは、良い方法が思いつきませんね。
結局、文字列から月と日の部分を正しく抜き出せていないのですよね。
カーソル使ってグルグル回すしかないかな~
以下は正確な構文ではありません動作確認もしていません、イメージだけくみ取ってください。
ちなみに、年の部分は必ず 4桁であることを前提としています。
--
fetch
set @DD = (SELECT テーブルの値)
set @L1 = CHARINDEX (@DD, '/', 4)) -- 月と日の間の'/' の位置を取得
set @L2 = LEN(@DD) -- 文字列の長さを取得
SELECT CONVERT (DATETIME, DATEFROMPARTS (LEFT(@DD,4), MID(@DD, 6, @L1 - 6, RIGHT( @DD, @L2 - @L1)), 111)
--
こんな感じでできるとおもいます。
VBスクリプトを使えばもう少しシンプルに書けます。
No.1
- 回答日時:
こんにちは。
下記のようにしてみてください。
-- #### テーブル作成
CREATE TABLE dbo.TempData
(
RegDatevarchar(10)
)
-- #### テストデータ登録
INSERT INTO dbo.TempData
SELECT '2010/1/1' UNION ALL
SELECT '2010/1/2' UNION ALL
SELECT '2010/1/3' UNION ALL
SELECT '2010/1/4'
-- #### データ確認
SELECT CONVERT(CHAR(10), CONVERT(DATETIME, RegDate),111)
FROM dbo.TempData
この回答への補足
ご回答いただき有難うございます。
いただいたサンプルでを実行したところ正常に変換されました。
それを元に下記に変更して実行してみたのですが
SELECT
CONVERT(CHAR(10), CONVERT(DATETIME, テーブルの値),111)
FROM
テーブル名
下記エラーメッセージが表示されてしまいます。元データが壊れて
いるってことなんでしょうか。
メッセージ 8115、レベル 16、状態 2、行 16
expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
このQ&Aを見た人はこんなQ&Aも見ています
-
好きな人を振り向かせるためにしたこと
大好きな人と会話のきっかけを少しでも作りたい、意識してもらいたい…! 振り向かせるためにどんなことをしたことがありますか?
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessの数値から時間に変換す...
-
SQLサーバで和暦から西暦に変換...
-
OSのシステム日付を変更して...
-
日付の切り出し方法について
-
重複するIDのデータを1行にま...
-
エクセル 日付による並べ替え...
-
SQLで部分的にGROUP BYしたいとき
-
yyyy/M/dをyyyy/MM/ddに変換
-
今日の日付が入った行のデータ...
-
日付の最大値レコードを取得す...
-
テーブルの主キーをdate型...
-
日付書式に変換でこまっています!
-
DB2のSQL(日付)について
-
wordの差し込み印刷での日付表示
-
SELECT結果の縦と横の入れ替え
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
日付型なら変数の先頭になん...
-
エクセル上の8桁の数字を一括し...
-
日付時刻+連番の主キーをSQLだ...
-
SQLite3のtext→date変換について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLで部分的にGROUP BYしたいとき
-
Accessの数値から時間に変換す...
-
SQLサーバで和暦から西暦に変換...
-
重複するIDのデータを1行にま...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
テーブルの主キーをdate型...
-
今日の日付が入った行のデータ...
-
日数算出SQL
-
OSのシステム日付を変更して...
-
日付書式に変換でこまっています!
-
yyyy/M/dをyyyy/MM/ddに変換
-
指定した年月までのデータを取...
-
日付型なら変数の先頭になん...
-
oracle 文字列 01:45 を時間に...
-
DB2のSQL(日付)について
-
WHERE句にて「30日前から今日ま...
-
Excelグラフの日付軸の日付がず...
-
エクセル 日付による並べ替え...
-
23時59分59秒までのデータを抽...
-
日付の切り出し方法について
おすすめ情報