目前尚不清楚的規範是什麼。
如果你想檢查的整場比賽,第7個字符,或前四個字符:
SELECT t.voucher_code='WUD092050549E' AS exact_match
, t.*
FROM mytable t
WHERE t.voucher_code = 'WUD092050549E'
OR t.voucher_code = LEFT('WUD092050549E',7)
OR t.voucher_code = LEFT('WUD092050549E',4)
如果你想要的任何長度的優惠券代碼匹配,你可以列舉所有可能:
SELECT t.voucher_code = 'WUD092050549E' AS exact_match
, t.*
FROM mytable t
WHERE t.voucher_code = 'WUD092050549E'
OR t.voucher_code = LEFT('WUD092050549E',11)
OR t.voucher_code = LEFT('WUD092050549E',10)
OR t.voucher_code = LEFT('WUD092050549E',9)
OR t.voucher_code = LEFT('WUD092050549E',8)
OR t.voucher_code = LEFT('WUD092050549E',7)
OR t.voucher_code = LEFT('WUD092050549E',6)
OR t.voucher_code = LEFT('WUD092050549E',5)
OR t.voucher_code = LEFT('WUD092050549E',4)
較慢
,但更簡潔:
SELECT t.voucher_code
, t.*
FROM mytable t
WHERE t.voucher_code = LEFT('WUD092050549E',CHAR_LENGTH(t.voucher_code))
但我不知道我ü瞭解規格說明,所以這可能與您所尋找的方式不同。
您是否使用Server_Side語言來執行查詢?如果是這樣,通過執行SELECT *操作數據會容易得多。將它放入一個數組中,然後在PHP中使用類似這樣的內容:$ var = substr('WUD039540',0,4);'..這將返回你正在尋找 – Zak