我有一個名為 basicinfo 的表和一個名為 iepNo 的列,它具有基于特定格式的值,例如
m-195001
m-195002
m-195003 and so on.
我想根據給定的 iepNo 范圍獲取記錄。m-233例如,我想讓 iepNo 介于m-334
截至目前,我正在使用此查詢:
SELECT *
FROM basicinfo
WHERE iepNo BETWEEN "M-100" AND "M-200"
但它回傳 2631 行,但實際上,我應該在m-100and之間只得到 100 行m-200。列 iepNo 的型別為varchar(13)。
請指導我如何解決此問題。
uj5u.com熱心網友回復:
您可以在比較之前提取 ID 值并轉換為整數:
SELECT *
FROM basicinfo
WHERE CAST(SUBSTRING_INDEX(iepNo, '-', -1) AS UNSIGNED) BETWEEN 100 AND 200;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464321.html
標籤:mysql 数据库 phpmyadmin
