Персональная страница shra, блог фриленсера, веб-разработчика на PHP. Здесь я делюсь своим опытом и мыслями, провожу опыты над людьми, собираю нематериальные свидетельства собственной глупости. Используя примеры программного кода с данного сайта, вы принимаете всю ответственность за возможные последствия их использования, включая ваше психическое здоровье и интересы третьих лиц.
Недавно обнаружил, что в mySQL целых три аналога PHP функции strpos.
INSTR(str,substr) — возвращает индекс первого найденного совпадения substr в строке str. Если подстрока не найдена, то ф-ция вернет 0.
LOCATE(substr,str), LOCATE(substr,str,pos) — также выполняют поиск образца substr в строке str, возвращая позицию. Функция позволяет указать позицию pos, с которой следует начать поиск.
POSITION — это синоним LOCATE.
Я подготовил демонстрацию работы всех трех функций, т.к. лучше один раз увидеть, чем 100 раз прочитать.
В словаре терминов осуществляется поиск по слову ‘street’.
В MSSQL есть функция ROW_NUMBER(), которая нумерует строки выборки. В MySQL такой функции пока нет, но мы можем использовать трюк с переменными для достижения нужного эффекта.
К примеру, вы хотите выбрать название книг и пронумеровать список. Изначально ...
Иногда нужно выбрать строки из базы данных в случайном порядке. При сайтостроительстве эта задача возникает довольно часто - вывести случайную тему из форума, показать в блоке случайный продвигаемый товар, показать случайный ответ посетителя за последнюю ...
Обычно для этого требуется выполнить две команды - создать пользователя, выдать права.
Создание пользователя MySQL
Для нашей цели достаточно выполнить следующую команду:
[crayon-687ae33b61491156275910/]
Где new-user-name - имя нового пользователя, ...
Для начала выберем функцию с подходящей гранулярностью. DATEDIFF явно не подходит, т.к. даёт разницу в кол-ве целых дней. К счастью, есть аналогичная функция - TIMEDIFF, которая вычисляет разницу с точностью до микросекунд.
Результат работы TIMEDIFF ...