select * from A where select convert(int,code)>select convert(int,'0102')
select * from A where convert(int,code)>convert(int,'0102')
WITH cte AS ( SELECT '0101' AS Da UNION ALL SELECT '010101' AS Da UNION ALL SELECT '0102' AS Da UNION ALL SELECT '0103' AS Da UNION ALL SELECT '0104' AS Da UNION ALL SELECT '010401' AS Da UNION ALL SELECT '010402' AS Da UNION ALL SELECT '0105' AS Da ) SELECT * FROM cte WHERE Da>'0102' /* Da ------ 0103 0104 010401 010402 0105 */
select * from A where substring(code,1,len('0102'))>'0102'
select * from A where select convert(int,code)>select convert(int,'0102')
select * from A where convert(int,code)>convert(int,'0102')
(
SELECT '0101' AS Da UNION ALL
SELECT '010101' AS Da UNION ALL
SELECT '0102' AS Da UNION ALL
SELECT '0103' AS Da UNION ALL
SELECT '0104' AS Da UNION ALL
SELECT '010401' AS Da UNION ALL
SELECT '010402' AS Da UNION ALL
SELECT '0105' AS Da
)
SELECT * FROM cte
WHERE Da>'0102'
/*
Da
------
0103
0104
010401
010402
0105
*/
select * from A where substring(code,1,len('0102'))>'0102'