トップ回答者
SQL ServerにおけるSQLとACCESSにおけるSQLの違いについて

質問
-
いつもお世話になっております。現在ACCESS(2007)のSQLクエリを、SQL Server向けに焼き直しを行っています。その際にお客様より、「ACCESSのMAX関数とMIN関数」は「SQL ServerにおけるSQLのMAX関数とMIN関数」と全く同じものなのかとの質問を受けました。両者実行結果が同じであることはわかるのですが、何か明文化された資料等、ご存知ないでしょうか?例えば、ACCESS-SQLはANSI-SQL97に批准しており、SQL Server-SQLと同じである等。(Microsoftのチャットでの質問を行いましたが、明確な回答はありませんでした。)
ご確認よろしくお願いします。
回答
-
SQL ServerのMAX関数の場合、照合順序に依存します。その辺りがAccessとの違いだと思いますが、逆に気にかけられている違いが何かあるのでしょうか?
(参考)
照合順序の優先順位 (Transact-SQL)
https://msdn.microsoft.com/ja-jp/library/ms179886(v=sql.120).aspx★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 星 睦美 2016年4月4日 4:23
- 回答としてマーク hasegawa-yuhei 2016年4月5日 8:14
-
SQL Server のみ OVER 句などが指定できますが、Access から SQL Server へ、という話ですので、Access で使用できる機能、構文のみに限定したという前提で考えれば、以下のように言えるかと思います。
- 数値の類の型に関しては、数学における最大、最小を求めますので、同一となります。
- 日付の類の型に関しては、カレンダーにおける前後を求めますので、同一となります。
- それ以外の型については、先に上がっている照合順序など様々な影響を受けますので、ケースバイケースとしか言いようが無いかと思われます。
MCITP(Database Developer/Database Administrator)
- 回答の候補に設定 星 睦美 2016年4月4日 4:23
- 回答としてマーク hasegawa-yuhei 2016年4月5日 8:14
すべての返信
-
SQL ServerのMAX関数の場合、照合順序に依存します。その辺りがAccessとの違いだと思いますが、逆に気にかけられている違いが何かあるのでしょうか?
(参考)
照合順序の優先順位 (Transact-SQL)
https://msdn.microsoft.com/ja-jp/library/ms179886(v=sql.120).aspx★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答の候補に設定 星 睦美 2016年4月4日 4:23
- 回答としてマーク hasegawa-yuhei 2016年4月5日 8:14
-
SQL Server のみ OVER 句などが指定できますが、Access から SQL Server へ、という話ですので、Access で使用できる機能、構文のみに限定したという前提で考えれば、以下のように言えるかと思います。
- 数値の類の型に関しては、数学における最大、最小を求めますので、同一となります。
- 日付の類の型に関しては、カレンダーにおける前後を求めますので、同一となります。
- それ以外の型については、先に上がっている照合順序など様々な影響を受けますので、ケースバイケースとしか言いようが無いかと思われます。
MCITP(Database Developer/Database Administrator)
- 回答の候補に設定 星 睦美 2016年4月4日 4:23
- 回答としてマーク hasegawa-yuhei 2016年4月5日 8:14