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

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

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

  1. IT > FR
  2. ES > PT
  3. FR > IT

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

  1. IT > FR
  2. ES > PT
  3. FR > IT
  4. DE > PORTO
  5. ES > NL
  6. NO2 > UK

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

n3h0vuf2

n3h0vuf21#

使用 substring_index() :

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

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

uelo1irk

uelo1irk2#

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

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

还是我遗漏了什么?

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

相关问题