ひやりはっとIT備忘録    

« FFFTPでデータ転送ができない場合 | メイン | 爆笑セカンドライフ、パケットモバイル通信接続 »

« VistaではSQL Server 2005 SP2以降のみをサポート | データベース | SQL Server 2008 の新機能 »

2007年7月 9日

●ACCESS と SQL Server の datetime の違い

ACCESS と SQL Server の datetime の違い

 「PASSJ」のメーリングリストで、河端善博氏が『ACCESS と SQL Server の datetime の違い』について述べています。

《PASSJ》「ACCESS と SQL Server の datetime の違い (Re: データ登録時刻のずれについて」2007/07/09 【引用】

 日付/時刻データ型, datetime データ型を
 文字列に変換するときの、ミリ秒の扱いが違います。

 SQL Server: 切捨て
 Access: 切り上げ

 秒までの文字列に変換するとき、
 503 ミリ秒以上を、Access は切り上げます。


つづく


データ登録時刻のずれ対策

 データ登録時刻にずれが生じる対策を河端善博氏が述べ、続いて、おがわみつぎ氏がそれに対して評価を与えています。
《PASSJ》「Re: ACCESS とSQL Server の datetimeの違い (Re: データ登録時刻のずれについて」2007/07/09 【引用】
> 1.テーブル上に保存するときに、ミリ秒を削除しておく
> 2.クエリー時にミリ秒を削除して返す
> 3.クエリー時に文字列変換しておく
> 3.Access での表示時に、SQL Server と同じ文字列表現にする
WHERE の条件に指定されているので、文字列として保存したほうが無難なような 気がします。 msec まで比較の対象の場合は。

SARG(Search Argument) を正しいデータ型にしておかないと、
CONVERT_IMPLICIT(暗黙的型変換)が発生して、全体のスループットが落ちますよ。
#って、たぶん限られた人にしか意味が通じないと思うけど。


おわり

トラックバックURL

このエントリーのトラックバックURL:
http://www.uncle-joe.net/mtengine/mt-tb.cgi/23

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)