我在帶有標籤的數據庫中有一個大表。不是所有的單詞都有拉丁字符(英文,法文...),某些單詞有非拉丁字符(希伯來語,波斯語,阿拉伯語...)MySQL按字符串語言排序
如何選擇單詞ORDER BY [Language of word]
?
我在帶有標籤的數據庫中有一個大表。不是所有的單詞都有拉丁字符(英文,法文...),某些單詞有非拉丁字符(希伯來語,波斯語,阿拉伯語...)MySQL按字符串語言排序
如何選擇單詞ORDER BY [Language of word]
?
您可以定義第二個表格語言,然後爲每個條目附加一個語言標籤。您可以向語言表添加排序順序列,然後在選擇時,按照語言表進行連接,然後按標記字段排序,然後按語言排序順序排序。
您可以使用MySQL函數調用FIELD()
ORDER BY FIELD(Language,'English','Japan','Swedish')
或者如果你有較少的語言命令:
ORDER BY `ID`,
CASE `Language`
WHEN 'English' THEN 1
WHEN 'Japenese' THEN 2
WHEN 'Swedish' THEN 3
END
假設他已將該語言存儲在另一列中。 – BenM 2013-02-28 23:38:06
SELECT * FROM表ORDER BY CONVERT( 'word_column' 用UTF8)ASC – Shridhar 2013-02-28 23:34:55
您是否將單詞的實際語言存儲在同一個表格的一個字段中?試圖寫這樣的口譯員幾乎是不可能的。例如,你打算如何處理諸如「不同」這樣的詞 - 法語和英語拼寫相同。如果你只想通過查看字符串中的字符來做到這一點,你將會處於非常深的水中,而且幾乎不可能。 – BenM 2013-02-28 23:35:20
@benM,你提到的這個詞是一個不好的例子,因爲在法語中你會在第一個「e」上使用「é」。但你的干預理論仍然有效 – Sebas 2013-03-01 00:03:57