在 SQL Server 2K 中实现 大小写敏感的查询条件(WHERE ...),类似 Access(VB) 的 StrComp 函数

王朝vb·作者佚名  2006-01-08
宽屏版  字体: |||超大  

--创建如下用户自定义函数(UDF)

CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))

--ALTER FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))

RETURNS INTEGER

AS

BEGIN

DECLARE @i INTEGER

--DECLARE @Str1 VARCHAR(50)

--DECLARE @Str2 VARCHAR(50)

DECLARE @y INT

--SET @Str1='a'

--SET @Str2='A'

SET @i=0

--SELECT ASCII(SUBSTRING(@Str1,@i+1,1))

SET @y=1

DECLARE @iLen INT

SET @iLen = LEN(LTRIM(RTRIM(@Str1)))

IF LEN(LTRIM(RTRIM(@Str1))) < LEN(LTRIM(RTRIM(@Str2))) --THEN

SET @iLen = LEN(LTRIM(RTRIM(@Str2)))

WHILE (@i < @iLen)

BEGIN

IF (ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1))) --THEN

SET @i = @i +1

ELSE

BEGIN

SET @y=0

BREAK

END

END

RETURN @y

END

测试:

select *

from Table1

Where dbo.StrComp(Field1,'aAbB') =1

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有