- ベストアンサー
Datetime型とDate型の違いについて
- SQLServer2008で、日付のフィールドにDatetime型からDate型への変更を行いました。これにより、画面表示やテーブルの表示が「2009/07/27」から「2009-07-27」へ変わりました。また、同じ日付でも比較時にマッチしなくなりましたが、Format関数を使用して「yyyy-mm-dd」へ変換することで解決できました。
- 質問1: Datetime型からDate型へ変更することで、「-」ではなく「/」で表示することはできないでしょうか?
- 質問2: 日付の比較時には変換する必要があるのでしょうか? 代入時は自動的に変換されるのに、比較時も自動で行ってくれないのはなぜでしょうか?
- みんなの回答 (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をインストールするときに指定すれば一緒にインストールされるものなので、入れても影響があるとは思いませんが、でも上記の通りで入れても本件は解決しないと思います。
その他の回答 (1)
- jamshid6
- ベストアンサー率88% (591/669)
推測ですが、SQL Server 2005用のSQL Native Clientを使っているのではないかと思います。 (2005用のを使うと確かにそのように「yyyy-mm-dd」になるので) DATE型などは2008からなので、SQL Server 2008用のSQL Native Client10.0を使ってみては?
補足
回答ありがとうございます。 MSDNでSQL Native Client について読んでみたのですが、イマイチ理解できません。 当方スキル不足なので試すのも下記の懸念があり、躊躇しています。 教えて下さい・・・ (1) SQL Native Client はサーバーにインストールするのでしょうか、クライアントでしょうか? (2) インストールしても既に動いているアプリ(AccessのADPで開発)に影響はないでしょうか?
お礼
名前を覚えていてくださってありがとうございます。 datetimeに変換したビューやFormatでの変換で進めます。 ありがとうございました。