假设我有一列这样的数据:
IT > FR ES > PT FR > IT
我想显示两个独立的列,结果是:在第一列中,只有第一个国家的国家代码,在第二列中,只有第二个国家的代码。我们使用子串函数。没关系的。现在,假设我有一列叫做border:
IT > FR ES > PT FR > IT DE > PORTO ES > NL NO2 > UK
边界的长度不一样!有没有一种方法可以在substring函数中指定一个列只需要 > 向后还是向前?
>
n3h0vuf21#
使用 substring_index() :
substring_index()
select substring_index(border, ' > ', 1) as country_1, substring_index(border, ' > ', -1) as country_2
这是一个内置的mysql函数。请注意,这是在 '>' ,因为这似乎就是数据的结构。
'>'
uelo1irk2#
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
2条答案
按热度按时间n3h0vuf21#
使用
substring_index()
:这是一个内置的mysql函数。请注意,这是在
'>'
,因为这似乎就是数据的结构。uelo1irk2#
https://www.w3resource.com/mysql/string-functions/mysql-locate-function.php
还是我遗漏了什么?