запрос к MySql с условием

Тема в разделе "Базы данных", создана пользователем ivashka, 6 май 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. ivashka

    ivashka

    Регистр.:
    16 май 2007
    Сообщения:
    151
    Симпатии:
    15
    Здравствуйте.
    Погуглил но ничего подходящего не нашел, может плохо искал, строго не судите.

    Есть в таблице поле, допустим name как составить запрос который вернул бы все записи где длина поля name <20 припустим.
    Заранее благодарен.
     
  2. swer

    swer

    Регистр.:
    15 июн 2008
    Сообщения:
    305
    Симпатии:
    38
    Не так сильно знаком с ф-ями мускула и сомневаюсь что такая ф-я имеется,но можно сделать ф-ю с помощью php с использованием strlen().Те сделать цикл сбора name и вывести те которые удовлетворяют условиям.
     
  3. kip

    kip Постоялец

    Регистр.:
    7 янв 2007
    Сообщения:
    145
    Симпатии:
    15
    SELECT `name` FROM `table` WHERE `name` LIKE '%bla%'
     
  4. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Вопрос не уточнен. Длина поля задается при созданиии поля :D Так что она статична для все записей в поле :D
    Если вы имеет ввиду длину значения(строка, строка с многобайтовыми символами) то вам по этим ссылкам
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    использовать так
    Код:
    SELECT name FROM table WHERE LENGTH(name) < 20
    ;)
     
    ivashka нравится это.
  5. ivashka

    ivashka

    Регистр.:
    16 май 2007
    Сообщения:
    151
    Симпатии:
    15
    Да я имел ввиду длину записи в поле, спасибо.
     
  6. vadoru

    vadoru Постоялец

    Регистр.:
    28 янв 2007
    Сообщения:
    122
    Симпатии:
    46
    SELECT `name` FROM `table` WHERE CHAR_LENGTH(name) <20


    А использовать LENGTH(name) не рекомендую - так как длина строки при этом возвращается как количество байтов
     
  7. Mentos82

    Mentos82 Писатель

    Регистр.:
    10 май 2009
    Сообщения:
    4
    Симпатии:
    0
    Народ не подскажите как сделать из двух таблиц 1) table1 структура name 2) post структура id, text запрос следующего характера
    вывод производился таким способом где name из первой таблицы искалось как наличие в text.
    Примерно знаю
    SELECT *.t1, *.t2 FROM table1 t1, table2 t2 WHERE t2.text LIKE '%t1.name%';
    но не работает =(
     
  8. MadWizard

    MadWizard Постоялец

    Регистр.:
    24 мар 2009
    Сообщения:
    145
    Симпатии:
    20
    Код:
    SELECT *.t1, *.t2 FROM table1 t1, table2 t2 WHERE t2.text LIKE '%' + t1.name+ '%'
    
     
    Mentos82 нравится это.
  9. Tadasi

    Tadasi Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    145
    Симпатии:
    6
    А ещё, подскажите пожалуйста (ну очень нужно) следующие sql-запросы к базе под DLE:

    1. Как sql-запросм удалить полностью все новости принадлежащие определённой категории
    2. Как пообъединять sql-запросм все новости, находящиеся в разных категориях
    3. Как изменить всех авторов новостей на одного автора
    4. Как добавить к url-ловому адресу всех новостей ещё какое-нибудь слово вначале или в конце
    5. Как упорядочить номера id новостей, что бы они шли подряд (т.е. порядковый номер у них был подряд)
    и последнее у меня какой-то глюк в базе - некоторые новости идут с ЧПУ тип 1, некоторый тип 2, а некоторые тип 3 и в настройках движка не хотят меняться - думаю можно это решить выполнив sql-запрос к базе для задания всем новостям одного типа чпу (например, тип 2) что скажете?
     
  10. AndreyD2

    AndreyD2

    Регистр.:
    21 окт 2008
    Сообщения:
    194
    Симпатии:
    67
    Tadasi выложи структуру таблиц новостей, категорий
     
Статус темы:
Закрыта.