Sql脚本获取字符位置

时间:2015-02-25 07:46:22

标签: mysql sql

使用SQL脚本在SQL列中获取第一个和最后一个特定字符的最佳方法。

例如,我的列包含值" a / b / c /"我想先获得' /'然后是最后一个角色。

所以我会得到值' /'第一个出现在第一个角色,最后一个出现在第五个角色。

2 个答案:

答案 0 :(得分:1)

您可以使用/函数查看字符substring是否在给定字符串的某个部分。请注意,您将0视为第一个位置,在第一个位置,第一个位置是1.所以使用下面的方法可以得到所需位置的字符串

mysql> select substring('a/b/c/',2,1);
+-------------------------+
| substring('a/b/c/',2,1) |
+-------------------------+
| /                       |
+-------------------------+
1 row in set (0.00 sec)

mysql> select substring('a/b/c/',6,1);
+-------------------------+
| substring('a/b/c/',6,1) |
+-------------------------+
| /                       |
+-------------------------+
1 row in set (0.00 sec)

如果您正在编写查询以选择上述条件是否为真,那么它可以是

select * from table_name
where
substring(col_name,2,1) = '/' 
and
substring(col_name,6,1) = '/' 

请注意,0是你的第一个位置,但是对于函数1,所以添加了+1以获得位置。

答案 1 :(得分:1)

如果你想要你的第一个和最后一个字符的索引你可以尝试这样的事情,

     SELECT LENGTH("a/b/c/") - LOCATE('/', REVERSE("a/b/c/")) + 1 AS LastIndex ,instr('a/b/c/', '/') AS FirstIndex;