处理列表时,可以在“ Where”子句中更好地替代SQL“或”语句?

时间:2018-08-03 16:20:38

标签: sql where

超级简单的问题来自SQL的新手。我在Excel文件中存储了约30个邮政编码列表(如下)。我想做的是找出最有效的方法,将下面列出的邮政编码放入我的where语句中,以仅对“ 30”进行过滤,而不必说:

WHERE o.strPostalCodeNode = 00501 or 00544 or...

如果此列表较大,则此“或”方法将不是可行的解决方案。必须有一个明显的更好的方法来做到这一点!

这是拉链:

00501
00544
06390
11701
11702
11703
11704
11705
11706
11707
11708
11713
11715
11716
11717
11718
11719
11720
11721
11722
11724
11725
11726
11727
11729
11730
11731
11733
11738
11739
11740
11741
11742
11743
11746
11747
11749
11750
11751
11752
11754
11755
11757
11760
11763
11764
11766
11767
11768
11769
11770
11772
11775
11776
11777
11778
11779
11780
11782
11784
11786
11787
11788
11789
11790
11792
11794
11795
11796
11798
11901
11930
11931
11932
11933
11934
11935
11937
11939
11940
11941
11942
11944
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11967
11968
11969
11970
11971
11972
11973
11975
11976
11977
11978
11980
11542
11771
11791
11561
11510

1 个答案:

答案 0 :(得分:0)

在注释中已经说过的运算符中使用

     select * from yourtable 
        where strPostalCodeNode  in(00501,
00544,
06390,
11701,
11702,
11703,
11704,
11705,
11706,
11707,
11708,
11713,
11715,
11716,
11717,
11718,
11719,
11720,
11721,
11722,
11724,
11725,
11726,
11727,
11729,
11730,
11731,
11733,
11738,
11739,
11740,
11741,
11742,
11743,
11746,
11747,
11749,
11750,
11751,
11752,
11754,
11755,
11757,
11760,
11763,
11764,
11766,
11767,
11768,
11769,
11770,
11772,
11775,
11776,
11777,
11778,
11779,
11780,
11782,
11784,
11786,
11787,
11788,
11789,
11790,
11792,
11794,
11795,
11796,
11798,
11901,
11930,
11931,
11932,
11933,
11934,
11935,
11937,
11939,
11940,
11941,
11942,
11944,
11946,
11947,
11948,
11949,
11950,
11951,
11952,
11953,
11954,
11955,
11956,
11957,
11958,
11959,
11960,
11961,
11962,
11963,
11964,
11965,
11967,
11968,
11969,
11970,
11971,
11972,
11973,
11975,
11976,
11977,
11978,
11980,
11542,
11771,
11791,
11561,
11510)