刚接触SQL,请教一下,假如我的主码(SNO)是一个字符串类型,那要比较2个主码的大小例如'001'和‘002’,数据库会怎么比较呢,是不是和C语言一样,按ASC码先比较第一个字符,如果相同再比较第二个字符,依次类推。???第一个字符如果它的ASC码值较大的字符串就认为这个字符串大。

解决方案 »

  1.   

    要是能转换成int ,
    cast(SNO as int)可以整数类型比较了。 
      

  2.   

    但一般大小写是不区分的if 'a' > 'B'
    select '大'
    else 
    select '小'结果是小
      

  3.   

    字符串的比较应该哪里都一样的吧,不过SQL Server有排序规则,它会按特定的排序规则比较大小。
      

  4.   

    字符串比较:
    '1'比'090000'大如:
    if '1'>'090000'
    print '1大'
    else
    print '090000大'结果:1大
      

  5.   


    if '001'>'002'
     print '001大于002'
    else 
       print '001小于002'
      

  6.   

    直接比较就是了,不管是用int 还是varchar