0

SQL クエリで英数字のみを返すものを探しています

今、私は 2 つのコラムを持っttitletsubttitleます。Champ's Shacktsub"Grilled Cheese"

そのフィールドを次のように返す必要がありますchampsshackgrilledcheese

これまでのところ、私はそれをchamps'sshack"grilledcheese"

まだそれらの文字を削除する必要があります...

これがそれを実現するコードです...

REPLACE(LOWER(CONCAT(TRIM(ttitle),TRIM(tsub))), ' ','')

シンボルなしで返すにはどうすればよいですか?? 英数字のみ、可能であればSQL関数を避けたい

4

1 に答える 1

2
REPLACE(REPLACE(REPLACE(LOWER(CONCAT(TRIM(ttitle),TRIM(tsub))), ' ',''),'\'',''),'"','')

はい、これは非常に醜いです。ただし、MySQLは正規表現をサポートしていないため(拡張子を追加しない限りREPLACE)、置換するすべての文字に対してを呼び出す必要があります。

少なくとも、質問で指定されているように、ユーザー定義関数を避けたい場合。

于 2013-02-26T22:59:07.407 に答える