谁知道 '192.168.0.1'>'193.0.0.0'  这个 比较是比的啥? 内码?
有标准的参考给提供下.谢谢

解决方案 »

  1.   

    从左到有挨个字符比较ascii码
      

  2.   

    select case when '192.168.0.1'>'193.0.0.0' then 1 else 0 end输出0
      

  3.   

    字符串比较是由 Integration Services 执行的许多转换中的重要组成部分,字符串比较也用在变量表达式和属性表达式的
    求值中。例如,排序转换比较数据集中的值,从而以升序或降序对数据进行排序。 根据数据和转换的配置,在字符串数据比较的过程中可能需要进行下列处理:将数据转换为 Unicode 数据。如果源数据尚不是 Unicode 数据,则自动将其转换为 Unicode 数据,然后开始比较。
    使用区域设置以应用区域设置特定的规则来解释日期、时间、十进制数据和排序顺序。
    在列级应用比较选项以更改比较敏感度。
    可以自定义排序、聚合、模糊分组和模糊查找转换,以更改在列级比较字符串的方式。例如,可以指定进行比较时忽略大小写,
    这意味着大写字符和小写字符将被视为相同的字符。
      

  4.   

    按照从左到右的顺序,挨个比较每个字符的ascii码
      

  5.   


    declare @a varchar(20), @b varchar(20)
    set @a = '0' set @b = '-' 
    if @a > @b 
    print '0>-' 
    else print '0<-';
    /*0>-*/declare @c varchar(20), @d varchar(20) 
    set @c = '170' 
    set @d = '17-' 
    if @c > @d 
    print '170>17-' 
    else 
    print '170<17-';
    /*170>17-*/declare @e varchar(20), @f varchar(20) 
    set @e = '1702' set @f = '17-2' 
    if @e > @f 
    print '1702>17-2' 
    else 
    print '1702<17-2';
    /*1702<17-2*/ 
    --正常是从左到右一次比较acsii码
    --当在比较时的字符串中出现'-'时,貌似就不一样了 原理解释不清楚
      

  6.   


    我问下这的出处是哪?
    给贴个链接啥的 
    thanks
      

  7.   


    http://msdn.microsoft.com/zh-cn/support/ms141038.aspx
      

  8.   

    逐个比较ascii字符,ascii值大的字符串就大。