2017-09-06 60 views
0

我有一般的文本表科拉姆值Ex:MySQL的普通文本脊柱案例皈依

"This is Gerald's Sample Text: With some special chars" 

我需要這個文本轉換爲:

"this-is-geralds-sample-text-with-some-special-chars" 

MySQL的InnoDB和保存價值在同一個表中的單獨的唯一列中。有沒有一種簡單的方法來實現這個查詢而不使用過程?

+0

https://stackoverflow.com/a/6216513/57191 – cwallenpoole

+0

[如何在MySQL中執行正則表達式替換?](https://stackoverflow.com/questions/986826/how-to-do -a-regular-expression-replace-in-mysql) – cwallenpoole

+0

@cwallenpoole:請參閱我編輯的問題! – ssrp

回答

1

簡短答案是「否」。您正在尋找的行爲與正則表達式完全相同,而MySQL不支持本地替換正則表達式。

較長的答案是「不,但有解決方法。」你有幾個選擇,我也不喜歡。 The first is to create a function like in this question。第二個是想出一個壞字符列表,然後使用一組REPLACE調用。這很醜陋,但它會起作用。

附註:您可能會考慮在應用程序中創建此值,然後將其與原始值一起存儲。這在某些方面比使用自定義MySQL函數更清潔。