• 締切済み

日付型を編集したい

お世話になります。 DateTime型のデータを 「YYYY/MM/DD HH:Mi」の形式で取得したいです。 また、「2005/07/01」の日付型データを上のように、 日時の形式で表示(2005/07/01 00:00)で 取得することはできるでしょうか? CONVERT関数だと思うのですが、 時分の取得方法がよくわかりません。 お知恵をお貸しください。

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.3

そこまでお分かりなら、もう答えは出たようなものなのですが・・・想像力をもう少しだけ働かせてください。   select getdate()   select convert(varchar(20), getdate(), 114)   select convert(varchar(10), getdate(), 114) をクエリすると   ---------------------------   2005/7/12 12:46   (1 件 処理されました)      --------------------   12:46:41:666   (1 件 処理されました)      ----------   12:46:41:6   (1 件 処理されました) こうなります。 これならばお分かりになるでしょうか。

Miki3548
質問者

お礼

何とか表示することができました。 ありがとうございました。

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.2

っと、最後に1行書いておくのを忘れていました。 「あとは目的にあわせて適当な式を書いて使ってください。」

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

convertを2回使い、1回目で年月日、2回目で時分だけ取り出すことになります。 例えば   select dt from test   dt   ---------------------------   2005/7/11 23:01   2005/7/11 23:01   2005/7/11 23:01   2005/7/11 23:02   (4 件 処理されました) に対して   select convert(varchar(20), dt, 111)+"|"+convert(varchar(20), dt, 114) from test      -----------------------------------------   2005/07/11|23:01:47:500   2005/07/11|23:01:51:436   2005/07/11|23:01:56:043   2005/07/11|23:02:01:100   (4 件 処理されました) のようになります。

Miki3548
質問者

補足

ありがとうございます。 そこまでは分かったのですが、 「HH:MI」を表示する方法が分かりません。 たとえば「108」だと 「HH:MI:SS」まで出てしまうのですが、、、 秒は出したくないのです!! よろしくお願い致します。

関連するQ&A