怎么通过varchar类型的数据查询数据库

如何通过varchar类型的数据查询数据库
数据表table1中有一个字段叫 qi,是varchar类型的,里面的数据都是2013S112,2014S222 这样的,我想查询后三位能被3整除的数据,如何写sql语句呢?求教
------解决思路----------------------
create table table1(qi varchar(10))
go
insert into table1 
select '2013S112' union all
select '2014S222'
go
select * from table1 where right(qi,3) % 3=0
/*
qi
----------
2014S222

(1 行受影响)
*/
go
drop table table1

------解决思路----------------------

select * from table1 where cast(right(qi,3) as int)%3=0

------解决思路----------------------
;WITH table1(qi)AS(
SELECT '2013S112'
UNION ALL SELECT '2014S222'
)
SELECT * FROM table1 WHERE CAST(RIGHT(qi,3) AS INT)%3=0

------解决思路----------------------
select * from table1 where right(qi,3) % 3=0