如何在子字符串函数中指定给定符号的位置?

时间:2018-06-11 13:17:49

标签: mysql sql position substring

我们假设我的这一栏有这样的数据:

IT > FR
ES > PT 
FR > IT 

我想要显示两个单独的列,其结果是:第一个,只有第一个国家/地区的国家/地区代码,第二个,只有第二个国家/地区的代码。

我们使用substring函数。没关系。

现在,让我们假设我有一个名为border的列:

IT > FR
ES > PT 
FR > IT
DE > PORTO
ES > NL
NO2 > UK

边框的长度不一样!

有没有办法在子字符串函数中指定我只想从列>向后或向后的字符串?

2 个答案:

答案 0 :(得分:0)

https://www.w3resource.com/mysql/string-functions/mysql-locate-function.php

Locate([your column],'>',1)

或者我错过了什么?

Left([Your column],Locate([your column],'>',1)-1) --To grab the left side
Right([Your column],Locate([your column],'>',1)+1) --to grab the right side

答案 1 :(得分:0)

使用substring_index()

select substring_index(border, ' > ', 1) as country_1,
       substring_index(border, ' > ', -1) as country_2

这是一个内置的MySQL函数。请注意,这是使用'>'周围的空格,因为这似乎是数据的结构。