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

vxqlmq5t  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(556)

假设我有一列这样的数据:

IT > FR
ES > PT 
FR > IT

我想显示两个独立的列,结果是:在第一列中,只有第一个国家的国家代码,在第二列中,只有第二个国家的代码。
我们使用子串函数。没关系的。
现在,假设我有一列叫做border:

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

边界的长度不一样!
有没有一种方法可以在substring函数中指定一个列只需要 > 向后还是向前?

n3h0vuf2

n3h0vuf21#

使用 substring_index() :

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

这是一个内置的mysql函数。请注意,这是在 '>' ,因为这似乎就是数据的结构。

uelo1irk

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

相关问题