if ('Aa'='aA')
print 'Y'
else
print 'X'
結果Yif ('Aahi'='aAih')
print 'Y'
else
print 'X'
結果Xif ('Aai'>'aAhiiiiiiiii')
print 'Y'
else
print 'X'
結果Y刚才发了个贴子问了一下
字符串比较的规则
众说纷纭
我也不知道哪个对了
我动手试了一下
结果如上
能不能给解释一下啊还有
select ascii('B')--66
select char(38)--&
select char(104)--hif('B&'='h')
print 'Y'
else
print 'X'这样也是不相等的请高手赐教

解决方案 »

  1.   

    if ('Aahi'='aAih')
    print 'Y'
    else
    print 'X'
    顺序反了,当然不相等
      

  2.   

    SQL默认是忽略大小写的,,,select checksum('Aa'), checksum('aA')
    select binary_checksum('Aa'), binary_checksum('aA')/*
    ----------- -----------
    34472462    34472462(1 row(s) affected)            
    ----------- -----------
    1137        1617(1 row(s) affected)
    */if checksum('Aa')=checksum('aA') print 'Y'
    else print 'X'
    /*Y*/
    if binary_checksum('Aa')=binary_checksum('aA') print 'Y'
    else print 'X'
    /*X*/
      

  3.   

    select char(ascii('B')+ascii('&'))h你的不可能等于你类似于if('a'='b')a肯定不等于b
      

  4.   

    就是大小写的问题,
    'Aahi'='aAih'
    已经不是对等字符串
      

  5.   


    VERY GOOD
      

  6.   


    一个是Aahi
    一个是aAih不一样的,呵呵
      

  7.   


    呵呵:)Aahi当然不等于aAih了!
      

  8.   

    这个取决取排序规则,sql默认是不区分大小写的