- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ストアドでVB.NetのDataGridにDataTime型のデータの時間だけを返したいです。)
VB.NetのDataGridにDataTime型のデータの時間だけを返す方法について
このQ&Aのポイント
- VB.NetのDataGridに表示されるDateTime型のデータから、時間部分だけを取得する方法を教えてください。
- 現在の方法では、時間の部分が正しく表示されず、デフォルト値である30/12/1899が表示されてしまいます。
- 試した方法には、CONVERTやEXTRACTなどさまざまな方法がありましたが、すべてうまく動作しませんでした。時間部分だけを取得する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと長いですけれど、こんなのはどうでしょう。 Select Right('0'+DateName(hh,Time),2)+':'+Right('0'+DateName(mi,Time),2)+':'+Right('0'+DateName(ss,Time),2) お試しください。
その他の回答 (3)
- Kuppycat
- ベストアンサー率50% (109/216)
回答No.4
.netのDataGrid側に問題があるように思われます。 プロパティの設定を確認してみては?
質問者
補足
結局、TimeをVarcharで、比較するときに、DateTimeに変換することで、決着させました。色々ありがとうございました。
- Kuppycat
- ベストアンサー率50% (109/216)
回答No.2
#1です。 関数間違えました^^; Select CONVERT(Char(8),CONVERT(sql_variant,Time),108) …… でした^^;
質問者
補足
できませんでした。01/01/1900 が返ってきます。工夫が必要なようです。書きこみありがとうございました。
- Kuppycat
- ベストアンサー率50% (109/216)
回答No.1
Select CAST(Char(8),CAST(sql_variant,Time),108) as Time …… で取れませんかね? お試しください。
補足
だめでした。_| ̄|○ もうあきらめようと思います。というか、大きな工夫が必要だと思います。Timeデータに日付を加えても、返ってくるのは、日にちだけです。データベース側でストアドを回すとキチンと時間だけ取れます。これを、Vb.Netに送ると全くだめになります。DateTimeをvcharにかえるしか方法はないみたいです。 結果また報告します。 色々ありがとうございました。