2014-01-29 4 views
-1

Я использую mysql-запрос для получения данных для нескольких идентификаторов turnk. Но я получаю разные результаты для разных форматов для IN(). Мои ID форматы:Confusion With MySQL ID IN ('')

1) IN ('1,2,3') 
    2) IN ('1','2','3') 
    3) IN (1,2,3) 

Применяя эти форматы я получаю результат от MySQL, но каждый раз, когда он отображающие другой результат. Это не случайно. предположим: используя нет. (1) Я получаю 55 и , используя №. (2) Я получаю 87 и , используя №. (3) я получаю 55

i am not much familiar with this situation. so need your help. 

Благодарности

+0

Каков формат столбца ID? то есть это int? Некоторые примеры данных из таблицы также могут быть полезны. – Trent

ответ

2

Вы просите 3 различных вещей

1) IN ('1,2,3') 

Вы запрашиваете строку '1,2,3', это то же самое как ID = '1,2,3'.

2) IN ('1','2','3') 

Вы запрашиваете для любого из 3-х строк '1', '2' и '3', это то же самое, как ID = '1' or ID = '2' or ID = '3'

3) IN (1,2,3) 

Вы запрашиваете для любого из 3 номера 1, 2, и 3, это то же самое, как ID = 1 or ID = 2 or ID = 3

Обычно 2) и 3) даст тот же результат, как неявное преобразование между строками и числами дали бы те же значения.

+0

Вы не имеете в виду 2) и 3), что даст такой же результат? – asprin

+0

Я получаю тот же результат для 1) и 3) и 2) возвращает другой результат – iamlancer

+0

понимаю проблему. Спасибо – iamlancer