2015-03-02 3 views
0

У меня есть таблица в моей базе данных с именем contact. Он имеет следующие столбцы: имя, мобильный и т. Д.. Проблема в том, что я пытаюсь получить все twon='Dubai', но когда я выполняю свой запрос, он извлекает только 81000 строк, но общее количество было 130000. Остальные оставшиеся строки не отображаются в моем запросе.Мой SQL-запрос не извлекает все данные из базы данных

Мои запросы:

SELECT * FROM `contact` WHERE `twon` = 'Dubai' 

Может кто-нибудь сказать мне, где я неправильно или помочь мне получить доступ ко всем данным из таблицы?

+0

как насчет 'trim (twon) = 'Dubai''? –

ответ

2

= будет получать запись только тогда, когда значение столбца точно 'дубаи.

Попробуйте с LIKE, TRIM и LOWER:

SELECT * FROM `contact` WHERE LOWER(TRIM(`twon`)) LIKE '%dubai%' 

Этот запрос будет получать записи, если twon столбец содержит слово 'DUBAI'.

1

Различные вещи могут быть неправильными.
Если вы публикуете примеры строк, которые должны быть возвращены, это нам поможет.

  • Чувствительность

Если чувствительность к регистру является проблемой (например, 'дубаи' или 'DUBAI' не возвращаются), вы можете использовать LOWER функцию

SELECT * FROM `contact` WHERE LOWER(`twon`) = 'dubai' 
  • Extra заготовки

В некоторых случаях дополнительный блан ks в содержимом столбца потерпит неудачу, например, «Дубай» и «Дубай». Вы можете использовать функцию TRIM, чтобы избавиться от отстающих и ведущих пробелов.

SELECT * FROM `contact` WHERE TRIM(`twon`) = 'Dubai' 
  • Комбинация

Объединяя два будет работать тоже.

SELECT * FROM `contact` WHERE LOWER(TRIM(`twon`)) = 'dubai' 
Смежные вопросы