我在MySQL中有一个列列表。我想用mariaDB查询执行MySQL,它将特定列A的最后一个文本放在该特定列A的第一个文本中。
例如
Column A
Golden Street 17a
Red Street 12/a
Street Golden
Amazing 7 Street Travel
...
Column A
17a Golden Street
12/a Red Street
Golden Street
Travel Amazing 7 Street
...
答案 0 :(得分:1)
mysql> SET @x = 'Red Street 12/a';
mysql> SELECT CONCAT(SUBSTRING_INDEX(@x, ' ', -1), ' ',
SUBSTRING_INDEX(@x, ' ', 2));
+------------------------------------------------------------------------+
| CONCAT(SUBSTRING_INDEX(@x, ' ', -1), ' ', SUBSTRING_INDEX(@x, ' ', 2)) |
+------------------------------------------------------------------------+
| 12/a Red Street |
+------------------------------------------------------------------------+
(注意:我假设列中有2个空格。如果不是这样,那么编辑你的问题会更精确。)
如果它只是移到前面的最后一个“单词”,那么请考虑:
mysql> SELECT CONCAT(SUBSTRING_INDEX(@x, ' ', -1), ' ',
LEFT(@x, LENGTH(@x) -
LENGTH(SUBSTRING_INDEX(@x, ' ', -1)))) AS swap;
+------------------+
| swap |
+------------------+
| 12/a Red Street |
+------------------+