首先讓我告訴你,我使用的字符集和排序規則是utf8_general_ci。如何將拉丁字符轉換爲MySql中相應的unicode轉義序列?
爲了舉例,我有兩個表A和B.
表A有一列(我們稱之爲'columnX')。在表格的任何一行中,columnX可能有一個包含拉丁字符的值,例如'niño'(表示英文中的'boy')。
表B有一列(我們稱之爲'columnY'),我知道它可能包含'niño'作爲其價值的一部分,例如'es unniñobueno'(他是英語中的一個好孩子) ,但'ñ'將被轉義,因爲我知道columnY包含JSON字符串,所以字符串字面量將被編碼爲'es un ni'bueno'。
我需要查找表A的列A.columnX包含在任何B.columnY中的所有行。我需要一個函數將al A.columnX轉換爲相應的轉義版本。沿着下面的代碼的東西線:
SELECT * FROM A
INNER JOIN B
ON B.columnY LIKE CONCAT('%', escapeUtf8(A.columnX) ,'%')
我一直在使用QUOTE
,CONVERT
,CAST
嘗試也網上搜尋了很多,但所有我發現是相反的是什麼,我需要(帖子解釋瞭如何將轉義序列轉換爲人類可讀的內容)。
由於提前,
Adrián
凹凸!有沒有人知道至少存在這樣的功能?謝謝:) – SheikStack
哦!此外,一個unescape函數將工作,如果我反向'LIKE'比較 – SheikStack