Помощник
|
Пустая строка |
pingvin_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Bugnet |
25.3.2012, 20:55;
Ответить: Bugnet
Сообщение
#2
|
|
Создал в БД таблицу в несколько строк и три ячейки id, name, password . Для одной строки оставил только значение id , а в полях name и password клацнул несколько раз пробел. Затем
[PHP]$result = mysql_query ("SELECT * FROM mytesttable WHERE name='' AND password='' "); $myrow = mysql_fetch_array($result); echo $myrow ["id"]; ?>[/PHP] Исправно выбирается id этой пустой строки |
|
|
pingvin_hb
|
Сообщение
#3
|
|
Мне надо, что бы исключительно средствами SQL выявлять пустые строки, т.е. в запрос условие должно вставляться после WHERE. Сейчас я делаю условие “LENGTH(`имя_поля`)>3”
Итоговый запрос, выявляющий не пустую строку, вероятно будет: SELECT * FROM mytesttable WHERE LENGTH(TRIM(`id`))>2; Кто лучше предложит? |
|
|
alexdrob |
26.3.2012, 18:27;
Ответить: alexdrob
Сообщение
#4
|
|
|
|
|
pingvin_hb
|
Сообщение
#5
|
|
В том посте нет условия, а получение переменной - это php.
|
|
|
alexdrob |
26.3.2012, 18:39;
Ответить: alexdrob
Сообщение
#6
|
|
В том посте нет условия Это что? WHERE name='' AND password='' а получение переменной - это php а это тут вообще при чём? Что такое "получение переменной"? Там просто вывод результата вам визуально на php сделан, делайте на чём вам угодно, ответ на вашу задачу вот ='' А по поводу В php для этих целей есть удобная функция empty Это абсолютно не так. Не когда empty не возвращала true для строки с пробелом. Только для пустой строки. |
|
|
pingvin_hb
|
Сообщение
#7
|
|
Это что? Это условие не соответствует заданию и в дальнейших версиях запрос может работать не так. ответ на вашу задачу вот Наверное, мне надо было спрашивать, как в запросе определить, что в ячейки что-то есть.Это абсолютно не так. Не когда empty не возвращала true для строки с пробелом. Только для пустой строки. Тут я ошибся –сюда входит 0, неопределённое значение и ‘’
|
|
|
alexdrob |
27.3.2012, 0:16;
Ответить: alexdrob
Сообщение
#8
|
|
Это условие не соответствует заданию Вот читаю: Как в MySQL найти пустое значение строки (которое может содержать несколько пробелов)? Я понимаю это так: Как выбрать строку из таблицы, если в ячейке строки пусто или только пробелы. Ответ, проверить на равенство '' в дальнейших версиях запрос может работать не так Где в условии хоть что то говорится о дальнейших версиях? И приведите пример что значит "работать не так"? Идеального условия не бывает. Как можно составить запрос, что бы он к любому условию всегда подходил не меняя запроса? Да не как :) как в запросе определить, что в ячейки что-то есть. Если `field` = '' - это не чего нет, то если подумать как сделать действие обратное этому?Наверное `field` != ''
|
|
|
pingvin_hb
|
Сообщение
#9
|
|
|
И приведите пример что значит "работать не так"? Обычно так говорят, когда в запросе используют обратные одиночные кавычки, хотя и без них так же работает.Как я выяснил отсутствие символа – ‘’, один пробел - ’ ‘ и много пробелов - ’ ‘, в БД кодируются одинаково, как отсутствие символа.
|
|
|
||
|
Текстовая версия | Сейчас: 20.4.2024, 1:30 |