Mysql SQL中的字符串反转
我有一个sql问题。我有一个表,其中包含一个名为title的列,该列在所有raw中存储这样的字符串Mysql SQL中的字符串反转,mysql,sql,Mysql,Sql,我有一个sql问题。我有一个表,其中包含一个名为title的列,该列在所有raw中存储这样的字符串 "Prenom - Nom (85)". 我想知道sql中是否有一种方法可以这样更改该字符串: "Nom - Prenom" 这意味着,我想将其反转,然后删除“(85) 提前感谢您。非常难看,几乎肯定不会适用于您的所有案例。但这适用于您发布的示例: select concat( substring_index(substring_index("Prenom - Nom (85)"," (",
"Prenom - Nom (85)".
我想知道sql中是否有一种方法可以这样更改该字符串:
"Nom - Prenom"
这意味着,我想将其反转,然后删除“(85)
提前感谢您。非常难看,几乎肯定不会适用于您的所有案例。但这适用于您发布的示例:
select concat(
substring_index(substring_index("Prenom - Nom (85)"," (",1)," - ",-1),
" - ",
substring_index(substring_index("Prenom - Nom (85)"," (",1)," - ",1)
);
是的:
这假设您想要比去掉
(85)
更一般的东西;它删除了最后一个单词。您想要删除最后四个字符吗?还有“-”将始终存在吗?删除它,然后在我得到nom-prenomm来测试并给出反馈时反转第一个字符串si。
select concat(substring_index(left(col, length(col) - instr(reverse(col), ' ')), ' - ', -1),
' - ',
substring_index(col, ' - ', 1)
)