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