串的搜索范围我有下列数据的varchar字段:MySQL的:用斜线
接口
Gig1/0/1
Gig1/0/3
Gig1/0/5
Gig1/0/10
Gig1/1/11
我正在尝试搜索(BETWEEN)。
Select * from test1 where Interface Between "Gig1/0/1" and "Gig1/0/5"
返回所有除记录Gig1/1月11日
串的搜索范围我有下列数据的varchar字段:MySQL的:用斜线
接口
Gig1/0/1
Gig1/0/3
Gig1/0/5
Gig1/0/10
Gig1/1/11
我正在尝试搜索(BETWEEN)。
Select * from test1 where Interface Between "Gig1/0/1" and "Gig1/0/5"
返回所有除记录Gig1/1月11日
怎么样使用SUBSTRING_INDEX功能?
select substring_index(fieldname,'/',-1) as v from tablename where v between 1 and 5
工作原理:从test1中选择接口,其中substring_index(接口,'/', - 1)介于1和5之间,但仅限于在最右斜线之前搜索最后的数字。无法搜索Gig1/1/11。 – Rick 2010-10-15 13:10:45
...假设我有更多的记录,比如Gig1/1/10,Gig1/1/5 ...我会如何搜索这些内容? – Rick 2010-10-15 13:12:02
也许使用“select substring_index(fieldname,'/', - 2)作为v从表名'其中v'在'0/1'和'1/5'”之间,因为这将选择1/10,1/15等。 – Richard 2010-10-15 13:26:06
您的查询是否也返回Gig1/0/10?假设常规整数不是1/0/1和1/0/5之间。 – stark 2010-10-15 12:55:29
他们不是常规的整数;他们是字符串。把它看作'GigB/A/B'和'GigB/A/F'不是它们之间的'GigB/A/BA'?是的! – VoteyDisciple 2010-10-15 12:57:36
该查询返回了Gig1/0/1,Gig1/0/3,Gig1/0/5和Gig1/0/10。 Gig1/0/10不应该在那里。该字段是一个varchar(字符串)。 – Rick 2010-10-15 13:00:05