這可能是一個很好的起點:
SQL Fiddle
MySQL的32年5月5日架構設置:
create table BookList (
id int not null auto_increment,
Title varchar(10),
Category varchar(10),
CategoryField varchar(10),
primary key (id)
);
insert into BookList (title, Category, CategoryField) values
('Title1','CAT1','A2'),
('Title2','CAT2','A7'),
('Title3','CAT3','A10'),
('Title4','CAT4','A12'),
('Title5','CAT5','A25'),
('Title6','CAT6','A33'),
('Title7','CAT7','A39'),
('Title8','CAT8','A50'),
('Title6','CAT6','B33')
;
查詢1:
SELECT Title, Category
from BookList
where substring(CategoryField,1,1) = 'A' AND
CONVERT(substring(CategoryField,2), SIGNED) BETWEEN 25 AND 39
Results:
| TITLE | CATEGORY |
|--------|----------|
| Title5 | CAT5 |
| Title6 | CAT6 |
| Title7 | CAT7 |
是否總是 'A' 或一個字符其次是一些數字? –
有一個偉大的職位在這裏:http://stackoverflow.com/questions/9893329/sql-where-criteria-to-find-names-between-a-f你試圖做基於數字或阿爾法之間的?顯然在這種情況下,它將採用字母數字值之間的值。你可以做的其中一件事就是解析這些值,選出數字字符,但這會在一個大的數據集中永遠消失。你期望的結果是什麼? – BClaydon
#保羅,它並不總是A.事實上,文本範圍從A到Z.然而,只有類似的文本伴隨着兩列(例如,你總是得到「A +數字」比較「A +數字」,或「D +數字「與」D +數字「相比;而不是」A +數字「與」B +數字「相比 我剛剛發現,所以看起來我只需要使用SQL在2列中的數字之間進行選擇 感謝大家! #Claydon,我會檢查一下鏈接。謝謝! –