我有一个表格列,其中包含一般文本值ex:
"This is Gerald's Sample Text: With some special chars"
我需要将此文本转换为:
"this-is-geralds-sample-text-with-some-special-chars"
使用MySQL InnoDB 并将值保存在同一个表中的单独唯一列中。有没有一种更简单的方法可以在不使用过程的情况下通过查询实现这一目标?
答案 0 :(得分:1)
简短的回答是“不”。你正在寻找与正则表达式完全相同的东西,并且MySQL本身不支持正则表达式替换。
更长的答案是“不,但有解决方法。”你有几个选择,我也不是非常喜欢。 The first is to create a function like in this question。第二个是提出一个坏字符列表,然后使用一组REPLACE
个调用。它很难看,但它会起作用。
旁注:您可以考虑使用您的应用程序创建此值,然后只与原始文件一起存储。在某些方面,这比使用自定义MySQL函数更清晰。