• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ストアドでVB.NetのDataGridにDataTime型のデータの時間だけを返したいです。)

VB.NetのDataGridにDataTime型のデータの時間だけを返す方法について

このQ&Aのポイント
  • VB.NetのDataGridに表示されるDateTime型のデータから、時間部分だけを取得する方法を教えてください。
  • 現在の方法では、時間の部分が正しく表示されず、デフォルト値である30/12/1899が表示されてしまいます。
  • 試した方法には、CONVERTやEXTRACTなどさまざまな方法がありましたが、すべてうまく動作しませんでした。時間部分だけを取得する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.3

ちょっと長いですけれど、こんなのはどうでしょう。 Select Right('0'+DateName(hh,Time),2)+':'+Right('0'+DateName(mi,Time),2)+':'+Right('0'+DateName(ss,Time),2) お試しください。

vbotoko
質問者

補足

だめでした。_| ̄|○ もうあきらめようと思います。というか、大きな工夫が必要だと思います。Timeデータに日付を加えても、返ってくるのは、日にちだけです。データベース側でストアドを回すとキチンと時間だけ取れます。これを、Vb.Netに送ると全くだめになります。DateTimeをvcharにかえるしか方法はないみたいです。 結果また報告します。 色々ありがとうございました。

その他の回答 (3)

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.4

.netのDataGrid側に問題があるように思われます。 プロパティの設定を確認してみては?

vbotoko
質問者

補足

結局、TimeをVarcharで、比較するときに、DateTimeに変換することで、決着させました。色々ありがとうございました。

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.2

#1です。 関数間違えました^^; Select CONVERT(Char(8),CONVERT(sql_variant,Time),108) …… でした^^;

vbotoko
質問者

補足

できませんでした。01/01/1900 が返ってきます。工夫が必要なようです。書きこみありがとうございました。

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

Select CAST(Char(8),CAST(sql_variant,Time),108) as Time …… で取れませんかね? お試しください。

関連するQ&A