日期:2014-05-19  浏览次数:20662 次

sql中字符串直接用if比较,它是怎么处理的?
比如   :

declare   @d   varchar(64)   ,@e   varchar(64)

set   @d= '100 '
set   @e= '200 '

if   @e> @d
begin
        --
end

这是怎么处理的,sql比较的是他们的asc码么

------解决方案--------------------
ASCII
從左到右每位比較
------解决方案--------------------
derrial()
2的ASCII比1的大所以“> ”
------解决方案--------------------
--可以转化成int

declare @d varchar(64) ,@e varchar(64)

set @d= '100 '
set @e= '200 '

if cast(@e as int)> cast(@d as int)
begin
--
end

------解决方案--------------------
的确是比较的ASCII