若今天我想撈取編號A0001~A0015的資料,語法會是

WHERE 編號 IN ('A0001','A0002','A0003','A0004','A0005','A0006','A0007','A0008','A0009','A0010','A0011','A0012','A0013','A0014','A0015')

但通常我們不會這樣寫,尤其是當要撈的資料好幾百筆甚至好幾千筆好幾萬筆的時候,這樣寫會瘋掉...

(當然如果是寫回圈去組那我也沒話說....)

 

不過通常還是會用BETWEEN這個函式,尤其是在使用CONSTRUCTION包起來的QBE查詢條件,系統也是會內建使用BETWEEN,就會像

WHERE 1=1 AND 編號 BETWEEN 'A0001' AND 'A0015'

這樣不是很簡潔有力嗎[SQL] 使用between的限制--資料長度

 

但問題來了,如果編號的長度有長有短,那就會是災難啦[SQL] 使用between的限制--資料長度

[SQL] 使用between的限制--資料長度 

實際上我只想要A0001,但BETWEEN連A00010、A00011、A00012...都撈出來啦[SQL] 使用between的限制--資料長度

 

[SQL] 使用between的限制--資料長度

這種時候就要配合LENGTH這個函式了,把長度固定在我要的5就沒問題囉[SQL] 使用between的限制--資料長度

創作者介紹
創作者 米血的小天地 的頭像
米血

米血的小天地

米血 發表在 痞客邦 留言(0) 人氣( 9 )