SQL存储过程是否区分大小写?

Met*_*uru 7 sql-server stored-procedures case-sensitive

例如...

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
Run Code Online (Sandbox Code Playgroud)

这不是我的代码,但如果这是区分大小写,那么@days将无法正确计算,因为startDate/startdate和endDate/enddate变量不匹配...

Mat*_*ton 16

它们可以是,取决于您的数据库的排序规则.当您安装SQL Server并选择默认排序规则时,您会注意到存在"区分大小写"复选框.某些排序规则区分大小写,会影响您的查询(和存储过程).

更糟糕的是,许多供应商不会在具有区分大小写的排序规则的服务器上测试他们的产品,这会导致运行时错误.