• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Datetime型とDate型)

Datetime型とDate型の違いについて

このQ&Aのポイント
  • SQLServer2008で、日付のフィールドにDatetime型からDate型への変更を行いました。これにより、画面表示やテーブルの表示が「2009/07/27」から「2009-07-27」へ変わりました。また、同じ日付でも比較時にマッチしなくなりましたが、Format関数を使用して「yyyy-mm-dd」へ変換することで解決できました。
  • 質問1: Datetime型からDate型へ変更することで、「-」ではなく「/」で表示することはできないでしょうか?
  • 質問2: 日付の比較時には変換する必要があるのでしょうか? 代入時は自動的に変換されるのに、比較時も自動で行ってくれないのはなぜでしょうか?

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

#1です。 そうですか、失礼しました。ADPでしたね。(質問者さんの名前を見ないで回答してしまいました) MDBの場合はODBC経由でプロバイダを指定できますから、問題ないと思ったのですが、ADPは接続時に使うプロバイダがSQLOLEDB(OLEDB Provider for SQL Server)に固定されていて、SQLNCLI10(SQL Server Native Client 10.0)を使わせることはできないのではないかと思います(別にVBAでADO接続を開けば別ですが)。 結局ADPではSQL Server 2005/2008の新機能を完全には使えないということになりますね。 今回は連結フォームということなので、今のままいくか、datetimeに変換したビューでも用意するしかないと思います。 >SQL Native Client はサーバーにインストールするのでしょうか、クライアントでしょうか? クライアントです。SQLNCLI10は通常SQL Server 2008をインストールするときに指定すれば一緒にインストールされるものなので、入れても影響があるとは思いませんが、でも上記の通りで入れても本件は解決しないと思います。

SEsyo
質問者

お礼

名前を覚えていてくださってありがとうございます。 datetimeに変換したビューやFormatでの変換で進めます。 ありがとうございました。

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

推測ですが、SQL Server 2005用のSQL Native Clientを使っているのではないかと思います。 (2005用のを使うと確かにそのように「yyyy-mm-dd」になるので) DATE型などは2008からなので、SQL Server 2008用のSQL Native Client10.0を使ってみては?

SEsyo
質問者

補足

回答ありがとうございます。 MSDNでSQL Native Client について読んでみたのですが、イマイチ理解できません。 当方スキル不足なので試すのも下記の懸念があり、躊躇しています。 教えて下さい・・・ (1) SQL Native Client はサーバーにインストールするのでしょうか、クライアントでしょうか? (2) インストールしても既に動いているアプリ(AccessのADPで開発)に影響はないでしょうか?

関連するQ&A