在SQL中反转字符串

时间:2014-01-31 11:37:33

标签: mysql sql

我有一个sql问题。我有一个包含名为title的列的表,该列在所有raw中存储这样的字符串。

"Prenom - Nom (85)".

我想知道sql中是否有一种方法可以像这样更改字符串:

"Nom - Prenom" 

这意味着,我想将其反转,然后删除“(85)。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

是:

select concat(substring_index(left(col, length(col) - instr(reverse(col), ' ')), ' - ', -1),
              ' - ',
              substring_index(col, ' - ', 1)
             )

这假设你想要比摆脱'(85)'更通用的东西;它删除了最后的单词。

答案 1 :(得分:0)

丑陋的地狱,几乎肯定不会适用于你的所有情况。但这适用于您发布的示例:

select concat(
substring_index(substring_index("Prenom - Nom (85)"," (",1)," - ",-1),
" - ",
substring_index(substring_index("Prenom - Nom (85)"," (",1)," - ",1)
);