• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:yyyy/M/dをyyyy/MM/ddに変換)

SQLServer 2005でyyyy/M/dからyyyy/MM/ddに日付変換したい方法

innoyaの回答

  • innoya
  • ベストアンサー率71% (10/14)
回答No.1

こんにちは。 下記のようにしてみてください。 -- #### テーブル作成 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' -- #### データ確認 SELECT CONVERT(CHAR(10), CONVERT(DATETIME, RegDate),111) FROM dbo.TempData

madamadahiyoko
質問者

補足

ご回答いただき有難うございます。 いただいたサンプルでを実行したところ正常に変換されました。 それを元に下記に変更して実行してみたのですが SELECT CONVERT(CHAR(10), CONVERT(DATETIME, テーブルの値),111) FROM テーブル名 下記エラーメッセージが表示されてしまいます。元データが壊れて いるってことなんでしょうか。 メッセージ 8115、レベル 16、状態 2、行 16 expression をデータ型 datetime に変換中に、算術オーバーフロー エラーが発生しました。

関連するQ&A

  • yyyy/m/d h:mmという表記をyyyy/mm/ddにしたい

    エクセルに関する質問です。よろしくお願いします。 シート上でyyyy/m/d h:mm(例えば2009/5/1 3:04や2009/6/15 12:04のように)で表記されている箇所を、時間表記を切って「yyyy/mm/dd」だけにしたいと考えています。 「セルの書式設定」の「表示形式」タブで設定すれば表示上は「yyyy/mm/dd」になるのですが、データ上は「h:mm」が残っています。 そのためピボットテーブルで「yyyy/mm/dd」の情報をベースに、集計しようとすると「h:mm」のデータが邪魔になってしまいます。 何とかなりませんでしょうか? よろしくお願いいたします。

  • DataGridViewでyyyy/MM/dd

    SQLServer2008で作ったデータベースをVB2010のDataGridViewで表示させております。 DataGridViewで日付列を"yyyy/MM/dd"のスラッシュ入り10桁で表示させたいのですが表示されません。 データベース側でのデータ型は「date」となっております。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy/MM/dd" こう記述すればいいと思ったのですが、「20111227」とスラッシュ無しで表示されてしまいます。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy年MM月dd日" これは「2011年12月27日」と表示することを確認できました。 DataGridView1.Columns("日付").DefaultCellStyle.Format = "yyyy-MM-dd" これは「2011-12-27」と表示することを確認できました。 どのようにしたら"yyyy/MM/dd"形式で表示させることが出来るのでしょうか 指導のほど、よろしくお願い致します。

  • 「yyyy/mm/dd hh:mm」が「yyyy/mm/dd hh:nn」へ変化する

    access2003を使用しています。 時刻の「分」の表示形式で気になることがあるのですが テーブルのデザインで フィールド1のデータ型を「日付/時刻型」にし 書式を「yyyy/mm/dd hh:mm」と入力しても 「yyyy/mm/dd hh:nn」に変化してしまいます。 問題なく「2009/02/28 20:33」と表示されるのですが なぜmからnへ変化してしまうのでしょうか? また デザインで書式を「hh:mm」だけ入力した場合は 「時刻 (S)」へ変化します。 何か少しでもわかる方ご回答よろしくお願いします。

  • 14桁の日付(YYYYMMDDHHMMSS)を日付(YYYY/MM/DD)に変換できますか?

    データとして14桁の値で日付が登録されています。 この14桁の値(YYYYMMDDHHMMSS)を日付(YYYY/MM/DD)に変換できますか? やりたい事はこの14桁の値から現在の日付から過去1年以内のデータを取得したいと思っていますが・・・ どのようにしたらいいのでしょうか? 申し訳ありません、アドバイスいただけませんでしょうか? 宜しくお願いします。

  • YYYYMMDDhhmmss形式の文字列を日付時刻に変換・計算する方法

    YYYYMMDDhhmmss形式の文字列を日付時刻に変換・計算する方法 お世話になっております。 今回の質問内容なのですが、 あるテーブルにYYYYMMDDhhmmss形式(varchar(14))の列がありまして、 この値の時刻計算を行いたいと思っております。 YYYY/MM/DD hh:mm:ss形式であれば、DATEADD関数で 計算が可能なのですが、やり方がわからず苦戦しております。 例えば1秒加算させたいと思い、以下のSQL文を実行してみたのですが、 SELECT DATEADD(second,1,(CONVERT(DATETIME,'20100312111111'))) 「文字列から日付/時刻に変換できませんでした。」というエラーが 発生してダメでした。 時刻部分だけ取り出して、それに時分秒を分ける「:」をつけて変換し 計算するという方法は極力避けたいと思っています。 何かいい方法がありましたら、ご教示のほどよろしくお願い致します。

  • yyyy/mm/ddをyymmddの文字列に

    一つの列にyyyy/mm/dd(日付)とyymmdd(文字列と標準が混在)が混在しているものを、全て文字列のyymmddにするために、区切り位置で全てを文字列にしてから文字操作でyymmddにしようとしてます。 vbaで区切り位置を使用してyyyy/mm/dd(日付)を文字列に変換するとdd/mm/yyyyと表示されてしまいます。vbaでやらずにそのまま区切り位置で文字列に変換するとそのままyyyy/mm/ddの表示のままなのに、vbaでやるとなぜdd/mm/yyyyになってしまうのでしょうか? vbaで日付yyyy/mm/ddを文字列yyyy/mm/ddに変換する方法を教えてください。 よろしくお願いいたします!

  • 25 Jul 2014 をyyyy/mm/ddに

    早速ですが WEBクエリーで 下記の値が セルに取り出せます Last Updated: Friday, 25 Jul 2014 06:00 PM これを 他のセル と 比較するために yyyy/mm/dd に変換したいのですが MIDで 取り出すと 曜日と月のスペル文字列の長さが一定でないので困っています。 何か方法は無いでしょうか If Format(Mid(NKNY.Range("J213"), 15, 10), "yyyy/mm/dd") = Format(NKNY.Cells(10, 2) - 1, "yyyy/mm/dd") Then

  • yyyy/mm/ddの日付に一括変換するマクロ

    [セルの書式設定] の [表示形式]が標準(日付ではない)で単なる文字列となっている「mm-dd-yyyy」や「mm/dd/yyyy」のデータをマクロで「yyyy/mm/dd」の日付データに一括変換するマクロを教えてください。 たとえば、日付データが列Aにある場合にはDATE関数で、 =DATE(RIGHT(A2,4),LEFT(A2,2),MID(A2,4,2)) でも変換可能ですが、対象ファイルが多数、各ファイルにも対象の列が多数、そしてファイルの更新頻度も多いため、DATE関数を使用することは現実的ではない事情があります。 このためマクロを使用して処理させたいです。 添付のサンプルの例で一括変更するマクロを教えてください。 なお、Excelは2007を使用しています。

  • yyyy/mm/ddからyyyy/mmへの変換

    いつもお世話になっております. Excelの第3列の2行目~2027行目までのセルに yyyy/mm/dd と入力されています. dd (日付)を取り除き,yyyy/mm という入力に直したいのですが,方法が分からずに困っております. Sub test() Dim row As Integer For row = 2 To 2027    Sheets("Sheet1").Cells(row, 3).NumberFormat = "yyyy/mm" Next End Sub 上記のようにしてみたのですが,セルの表示形式が変わっただけで, 数式バーの表示を見てみると実質的に dd が残っています. 良い方法をご存知の方がいらっしゃいましたら, ご教示の程どうぞ宜しくお願いいたします.

  • 日付型→文字列

    SQLServer2005の環境にて、 日付型の項目(YYYY/MM/DD HH:MM:SS)から日付のみを抽出したい場合、 現在SUBSTRING(CONVERT(VARCHAR,AA),1,10) と変換を行っているのですが、結果が「MM DD YYYY」となってしまいます。 「YYYY/MM/DD」の形式で取得するにはどのようなSQL文にすればよろしいのでしょうか。