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

时间:2009-02-03 20:15:19

标签: 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

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

3 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:1)

没有。至少不是T-SQL ......

答案 2 :(得分:0)

我记得,它们对SQL命令本身并不敏感,我经常看到它们写成小写。我非常确定其余部分是不区分大小写的,因为它是T-SQL规范的扩展。