zoukankan      html  css  js  c++  java
  • 在 SQL Server 2K 中实现 大小写敏感的查询条件(WHERE ...),类似 Access(VB) 的 StrComp 函数

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

  • 相关阅读:
    洛谷P3674 小清新人渣的本愿
    洛谷P3709 大爷的字符串
    CF747F Igor and Interesting Numbers
    洛谷P1494 小Z的袜子
    洛谷P3396 哈希冲突
    分块⑨题
    洛谷P4219 大融合
    bzoj2959 长跑
    洛谷P2486 染色
    洛谷P4382 劈配
  • 原文地址:https://www.cnblogs.com/Microshaoft/p/2485792.html
Copyright © 2011-2022 走看看