各位大神求救!百思不得其解的SQL 2005查
本人在使用一查,各位高手忙解:
例如,我有一表(Test),面只有一字符型nvarchar字段(Ptext),字段值如下:
-AM001
-AM020
-AM030
-ZM200
-ZM300
AM100
AM101
ZM100
ZM200
ZM201
我在需要查范 -AM001 至 -ZM200 的,查句如下:
SELECT * FROM Test WHERE (Ptxt >= '-AM001') AND (Ptxt <= '-ZM200')
但是它示果:(8)
-AM001
-AM020
-AM030
-ZM200
AM100
AM101
ZM100
ZM200
但是正的果是:(4)
-AM001
-AM020
-AM030
-ZM200
什SQL 2005不-的示出了呢?有什法可以查到我想要的正果(4) SQL?2005查
[解决办法]
create table #tb(col nvarchar(20))
insert into #tb
select '-AM001'
union all select '-AM020'
union all select '-AM030'
union all select '-ZM200'
union all select '-ZM300'
union all select 'AM100'
union all select 'AM101'
union all select 'ZM100'
union all select 'ZM200'
union all select 'ZM201'
SELECT *
FROM #tb
WHERE col between '-AM001' and '-ZM200' collate Chinese_PRC_BIN