На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Изменить параметры запроса поиска.
    MIF
    Тогда уж
    ExpandedWrap disabled
      SELECT *
      FROM @T
      WHERE LEN (metakey) - LEN(REPLACE(metakey, ',', '')) = (LEN(metakey) - LEN(REPLACE(',' + metakey,',razdel-','')) - 1)/8

    какой смысл проверять по отдельности первое и остальные вхождения?
      Если по полю metakey есть индекс. то мой запрос будет работать быстрее.
        К сожалению, ни 1 из запросов не отработал. Написал в ТП: меня сам сервер хостера заблокировал.
          Отработал такой. Но вернул все равно 0 строк - при наличии одной статьи с тегами "раздел-идеи,раздел-прочее,раздел-решение".

          SELECT *FROM joomla_content
          WHERE metakey like 'раздел-%'
          AND LENGth (metakey) - LENGth(REPLACE(metakey, ',', ''))= (LENGth(metakey) -
          LENGth(REPLACE(metakey,',раздел-','')))/8;

          Добавлено
          Цитата MIF @

          Точки нет в конце тегов. Может, в этом дело? Замена в вашем запросе "8" на "7" не помогает.
            Проблема в том, что ты не запостил структуру таблицы. Код запроса зависит от типа поля metakey. Попробуй Заменить /8 на /16 и /1 на /2. Может сработает.
            ExpandedWrap disabled
              DECLARE @T TABLE(metakey nvarchar(max))
               
              INSERT INTO @T(metakey) VALUES(N'razdel-128.')
              INSERT INTO @T(metakey) VALUES(N'me,razdel-12.')
              INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-me,razdel-16.')
              INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-merazdel-16.')
              INSERT INTO @T(metakey) VALUES(N'razdel-128,razdel-me,anotherrazdel,razdel-16.')
               
              SELECT *
              FROM @T
              WHERE metakey like 'razdel-%'
              AND (LEN (metakey) - LEN(REPLACE(metakey, ',', '')))/2=  (LEN(metakey) -  LEN(REPLACE(metakey,',razdel-','')))/16
            Сообщение отредактировано: MIF -
              Цитата MIF @


              Не сработало.

              Что если вручную прописать все теги "раздел-что_то", которые имеются? На примере "раздел-IT".
              Прикреплённый файлПрикреплённый файл2020_09_03_180407.png (152,42 Кбайт, скачиваний: 866)

              Сообщения были разделены в тему "spam"
                SELECT * FROM joomla_content WHERE metakey LIKE 'раздел-%'

                Работает в случае, если раздел пишется первым.
                  Может быть не прав, но срытые символы Вы обрабатываете? Давно не подходил к компу.
                    Цитата Bas @
                    Может быть не прав, но срытые символы Вы обрабатываете? Давно не подходил к компу.

                    Что такое скрытые символы?
                      Цитата Сергей85 @
                      Что такое скрытые символы?

                      Символы, которые не видны при обычном отображении. Например, пробел на конце строки - поди его увидь... Или, скажем, символ, изображение которого в текущем шрифте имеет нулевую ширину. Да мало ли...
                        В тегах у меня есть пробелы, но не в названиях разделов.
                          Насколько велика таблица joomla_content? Если её задампить и зипануть - приложится к сообщению? чтобы на реальных данных тестировать, а не гадать на кофейной гуще..
                            Цитата Akina @
                            Насколько велика таблица joomla_content? Если её задампить и зипануть - приложится к сообщению? чтобы на реальных данных тестировать, а не гадать на кофейной гуще..

                            У меня проблема уже решена. Вы кому отвечаете?
                              Цитата Сергей85 @
                              Вы кому отвечаете?

                              Bas подживил вопрос - и Вы тут же включились. Мне показалось, что проблема либо не решена, либо решена, но Вы в ней не против покопаться ещё. Нет - так нет, не вопрос.
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0420 ]   [ 17 queries used ]   [ Generated: 19.03.24, 08:19 GMT ]