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

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

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 回答