mysql查询:在字符串位置搜索

时间:2016-09-18 06:03:25

标签: mysql sql select

我们有一个包含----------------------------------------- | id [int(11)] | card_no [varchar(16)] | ----------------------------------------- | 1 | 0124578965874563 | | 2 | 1245789658478596 | | 3 | 8471452369587458 | ----------------------------------------- 信息的表格。包含如下数据:

1245_896584_8596

现在我们需要一个查询来查找第6个位置中包含 7 的卡号。或者在第二位置包含 4

当我们打印卡号并发现一些数字不可读时,实际上需要这样做。所以我们需要用剩下的数字来识别卡片。例如,我们有以下数据:

fork()

现在我们需要用这些数据识别卡片。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

您可以使用函数SUBSTRING

SELECT id, card_no
FROM mytable
WHERE SUBSTRING(card_no, 6, 1) = '7' OR SUBSTRING(card_no, 2, 1) = '4'

Demo here

答案 1 :(得分:1)

使用SUBSTR字符串函数

SELECT * 
FROM yourtable 
WHERE SUBSTR(card_no,2,1) = 4 
   OR SUBSTR(card_no,6,1) = 7

答案 2 :(得分:0)

在where子句和通配符中使用like恰好一个符号_ 像

这样的东西
select * from table where card_no like '_____7℅'
相关问题