Синтаксис SQL-выраженийSQL-выражения используются в системе TreeGraph для задания значений параметров, управляющих различными выборками или условиями показа объектов, а также при работе с фильтром модуля JM. В выборку попадают те объекты из базы данных, для которых установленное выражение (условие) верно (истинно, =1). Синтаксис данных выражений полностью соответствует определению WHERE в SQL-операторе SELECT. Выражение может содержать: 1. Имена переменных (любой атрибут объекта TreeGraph или параметр, хранящийся в таблице в виде отдельного поля) 2. Круглые скобки () - для группировки отдельных выражений и определения порядка выполнения операции. 3. Операторы сравнения = - Равно <> или != - Не равно <= - Меньше или равно < - Меньше >= - Больше или равно > - Больше expr BETWEEN min AND max - Величина выражения expr находится в диапазоне min, max. Аналог (min<=expr AND expr<=max) expr NOT BETWEEN min AND max - Величина выражения expr находится вне диапазона min, max. expr IN (value,...) - Выражение expr равно любой величине из списка IN expr NOT IN (value,...) - Выражение expr не равно ни одной из величин из списка IN 4. Логические операторы NOT - Логическое НЕ. Возвращает 1, если операнд равен 0, 0 если операнд - ненулевая величина. AND - Логическое И. Дает 1 если все операнды ненулевые, 0 если один или более операндов равны 0. OR - Логическое ИЛИ. Возвращает 1, если любой из операндов не 0, в остальных случаях возвращает 0. XOR - Логический XOR (побитовое сложение по модулю 2). Возвращает 1 если нечетное количество операндов - не 0. 5. Функции сравнения строк expr LIKE pat - Функция производит сравнение с шаблоном, используя операции сравнения простых регулярных выражений в SQL. expr NOT LIKE pat - Аналог NOT(expr LIKE pat). Шаблон pat должен быть ограничен кавычками или апострофами и может содержать произвольный текст и следующие специальные символы: % - Соответствует любому количеству символов, даже нулевых _ - Соответствует ровно одному символу \% - Соответствует одному символу % \_ - Соответствует одному символу _ expr REGEXP epat - Выполняет сравнение строкового выражения expr с шаблоном epat (расширенное регулярное выражение). expr NOT REGEXP epat - То же, что и NOT(expr REGEXP epat). Регулярное выражение epat должно быть ограничено кавычками или апострофами Кроме текста, в нем могут использоваться любые специальные символы/структуры из числа приведенных ниже: ^ - Соответствие началу строки. $ - Соответствие концу строки. . - Соответствие любому символу (включая перевод строки). a* - Соответствие любой последовательности из нуля или более символов "a". a+ - Соответствие любой последовательности из одного или более символов "a". a? - Соответствие как нулю, так и одному символу "a". de|abc - Соответствие как последовательности de, так и последовательности abc. (abc)* - Соответствие нулю или более вхождениям последовательности abc. a{i} - Последовательность, состоящая из i вхождений данного элемента. a{i,} - Последовательность, состоящая из i и более вхождений данного элемента. a{i,j} - Последовательность, состоящая от i до j вхождений данного элемента. [a-dX] - Устанавливает соответствие для любого символа, являющегося символом a, b, c, d или X [^a-dX] - Устанавливает соответствие для любого символа, не являющегося символом a, b, c, d или X MATCH (col1,col2,...) AGAINST (expr) MATCH (col1,col2,...) AGAINST (expr IN BOOLEAN MODE) - Функция используется для полнотекстового поиска и возвращает величину релевантности - степень сходства между текстом в столбцах (col1,col2,...) и запросом expr. Величина релевантности представляет собой положительное число с плавающей точкой. Нулевая релевантность означает отсутствие сходства. 6. Арифметические операции + - Сложение - - Вычитание * - Умножение / - Деление 7. Строковые функции (см. описание MySQL) 8 .Математические функции (см. описание MySQL) 9. Функции даты и времени (см. описание MySQL) 10. Другие функции (см. описание MySQL) 11. Константы (числа, строки, даты) В качестве констант также можно использовать выражение $PARAMS[имя_параметра]. В этом случае при осуществлении выборки данное выражение заменяется на значение указанного параметра для текущего объекта. Это значение может установлено как в самом объекте, так и быть унаследовано от родителя или вышестоящих объектов (см. примеры). Выражение $PARAMS[имя_параметра] можно использовать в основном тексте объекта (контенте) и в следующих параметрах: ссылка - url перенаправить - redirect onclick - onclick условие выбора - block_where условие показа - block_check заголовок блока - block_header ссылка заголовка блока - block_header_link концовка блока - block_tail ссылка концовки блока - block_tail_link условие связки - art_links фильтр менеджера - manager_filter условие для поиска - search_where http запрос - http_query' В качестве имя_параметра можно указать имя (переменную) любого параметра сайта, а также некоторые дополнительные ключевые слова (перед ключевым словом PARAMS необходимо добавить символ $): PARAMS[today] - текущий день в формате ДД.ММ.ГГГГ PARAMS[time] - текущее время в формате ЧЧ:ММ (время начала формирования HTML-страницы) PARAMS[rand1] - сгенерированное случайное число 1 PARAMS[rand2] - сгенерированное случайное число 2 PARAMS[ip] - IP-адрес текущего пользователя PARAMS[user_id] - идентификатор текущего пользователь (если он авторизован) PARAMS[id] - идентификатор текущего объекта (страницы) PARAMS[parent_id] - идентификатор родительского объекта текущей страницы PARAMS[mess_header] - заголовок текущего объекта (страницы) PARAMS[p_date] - день публикации текущего объекта в формате ДД.ММ.ГГГГ PARAMS[parents_list] - список родительской ветви текущего объекта от корня до самого объекта через запятую PARAMS[query_string] - строка запроса броузера
| Поиск по документации Контактная информация 603000, Россия,г. Нижний Новгород, ул. Студеная, дом 5, 4-й этаж. info@graphit.ru (831) 260–16–32 |