在SQL中逆转字符串



我有一个SQL问题。我有一张名为"标题"的列的表

"Prenom - Nom (85)".

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

"Nom - Prenom" 

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

预先感谢您。

是:

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

这假定您想要的东西比摆脱'(85)'更一般。它删除了最后一个单词。

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

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

最新更新