2015-02-17 5 views
1

моя таблица содержит столбец ITEM_NAME, который имеет следующие примеры значений:упорядочения по столбцам по еврейски, чем английскому в запросе тузды

abba, babba, ארץ, חלב, כלב 

те английские ценности и значение Hebrew. Мне нужен запрос mysql, который даст мне результаты, упорядоченные по древнееврейскому значению сначала (заказ по еврейскому алфавиту) - тогда английские значения (упорядоченные по английскому алфавиту).

это то, что я использую сейчас:

select id, item_name order by item_name 

, и это дает мне английские значения первого.

с помощью UNION является возможность использования REGEXP ...

+0

Являются ли струны всегда английским или ивритом - так никогда не смешаны оба? Это может помочь опубликовать sqlfiddle - если предположить, что он может принимать многобайтовые символы. – Strawberry

+0

просто используйте «ORDER BY item_name» и добавьте DESC или ASC. DESC должен сначала дать вам иврит. я должен отметить, что не рекомендуется указывать значения иврита и английского значения в одной колонке. בגלל העימוד –

ответ

0

Вы можете использовать DESC или заказ ASC. Попробуйте с выберите идентификатор, item_name порядке item_name DESc выберите идентификатор, item_name заказа по item_name ASC

+0

нет, добавьте DESC или ASC это не сделает. он получит сначала иврит, но, как я уже говорил, мне нужен иврит, отсортированный по алфавиту. , и после тех, кто заказан в алфавитном порядке, мне нужны английские, отсортированные по алфавиту. Добавление ASC или DESC просто отменяет начальный порядок. –

0

Термин, который вы ищете collation. Сортировка - это свойство, которое определяет порядок сортировки. Как вы нашли, сопоставления, которые MySQL отправляет со всеми типами символов ASCII перед символами, отличными от ASCII. Единственный способ справиться с этим - создать свою собственную сортировку, которая не является тривиальной задачей.

Кроме того, вопреки опубликованным комментариям нет абсолютно никакой проблемы при хранении значений на иврите и английском языке в одном и том же поле. Конечно, я рекомендую хранить данные в формате UTF-8 в этих случаях.