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

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 playyuer 的 blog

--创建如下用户自定义函数(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


本文关键:SQL,VB
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top