目前
資料庫
有一筆資料,其中一個欄位是這樣子的...假使我想找其中的一段(例如100-Q-00500到100-Q-00600)
假如是資料庫資料,不要查詢到C#再做一次比較
,可以使用SQL between
達到目的,以下是舉例:
測試資料:
CREATE TABLE T
([caseNo] varchar(11))
;
INSERT INTO T
([caseNo])
VALUES
('100-Q-00001'),
('100-Q-00002'),
('100-Q-00003'),
('100-Q-00003'),
('100-Q-00500'),
('100-Q-00501'),
('100-Q-00600'),
('100-Q-10000')
;
查詢SQL:
--假使我想找其中的一段(例如100-Q-00500到100-Q-00600)
select * from T where [caseNo] between '100-Q-00500' and '100-Q-00600'
結果:
如果可以的話還是建議先在資料庫撈取,除了用between,可以試試regex
XXX like '100-Q-00[56]%' -- 這個會連同600~699,有誤
--此題硬要加就可能變成
(XXX like '100-Q-005[0-9][0-9]' or XXX = '100-Q-00600')
但以樓主發問的角度,我推測你應該要另外開一組新的 List / DataTable 來儲存,
若你拿原本撈出來的內容去進行比對然後刪除,這是一個明顯的錯誤。