7

例えば...

ALTER PROCEDURE [dbo].[Reports_Dashboard_Get_Sav]   
    -- Add the parameters for the stored procedure here
    @startDate datetime,
    @endDate datetime,
    @companyID int=null

set @days=datediff(m,@startdate,@enddate)
if (@days)=0 
    set @days=1

これは私のコードではありませんが、これが大文字と小文字を区別する場合、startDate/startdate 変数と endDate/enddate 変数が一致しないため、@days が正しく計算されません...

4

3 に答える 3

16

データベースの照合順序によっては、そうなる場合があります。SQL Server をインストールして既定の照合順序を選択すると、"大文字と小文字を区別する" チェックボックスがあることに気付くでしょう。一部の照合では大文字と小文字が区別され、クエリ (およびストアド プロシージャ) に影響します。

さらに悪いことに、多くのベンダーは、大文字と小文字を区別する照合を使用してサーバー上で製品をテストしていないため、実行時エラーが発生します。

于 2009-02-03T20:20:12.143 に答える
1

いいえ、少なくとも T-SQL ではありません...

于 2009-02-03T20:17:21.450 に答える
0

私が覚えているように、SQL コマンド自体では大文字と小文字が区別されません。小文字で書かれているのを日常的に見てきました。T-SQL仕様の拡張であることを考えると、残りは大文字と小文字を区別しないと確信しています。

于 2009-02-03T20:18:32.880 に答える