Sql Запрос на редактирование раздела с игнорированием полного URL - PullRequest
0 голосов
/ 26 мая 2020

Есть ли возможность редактировать url, но только базу? Например: у меня есть что-то вроде этого

src="www.example.site/media/folder/image-name.jpg"

, и мне нужно изменить этот URL-адрес во всех существующих таблицах

src="{{media url=/folder/image-name.jpg}}"

Любой способ сделать такой запрос?

Изменить:

Извините, я не очень хорошо объяснил. Изменение базового URL-адреса не вызывает ошибок, основная проблема заключается в том, что после имени-изображения базовый URL-адрес que всегда тот же, что я могу изменить, но я не могу найти решение для добавления}} в конце, потому что имя-изображения не всегда то же самое.

Спасибо: D

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Предполагая, что ваш базовый URL-адрес всегда один и тот же, а изображение находится в формате .jpg (конечно, вы можете изменить код w, чтобы проверить .png или любые другие форматы файлов), этот код должен иметь возможность заменить старое местоположение изображения на новое изображение.

declare @magento_field nvarchar(max) = 'ABCD.....10000bank19901005statement20191010...www.example.site/media/folder/image-name.jpg.....dwgyhh',
        @base_url nvarchar(max) = 'www.example.site/media/',
        @image_folder nvarchar(max) = 'folder/image-name1.jpg'


Select @magento_field,
       LEFT(suffix_after_base_url,CHARINDEX('.jpg',suffix_after_base_url)+3) as current_image_location,
       new_image_location,
       (prefix_before_base_url + url_part + new_image_location + part_after_image_location) as new_magento_field           
from(Select @magento_field as magento_field,        
            @base_url as base_url,
            @image_folder as new_image_location,
     LEFT(@magento_field,CHARINDEX(@base_url,@magento_field)-1) as prefix_before_base_url,
     CASE WHEN SUBSTRING(@magento_field,CHARINDEX(@base_url,@magento_field),23) = @base_url
          THEN SUBSTRING(@magento_field,CHARINDEX(@base_url,@magento_field),23)
          ELSE @magento_field 
          END as url_part,
     RIGHT(@magento_field,LEN(@magento_field) - 
     CHARINDEX(@base_url,@magento_field)-22) as suffix_after_base_url,
     RIGHT(@magento_field,LEN(@magento_field) - 
     CHARINDEX('.jpg',@magento_field)-3) as part_after_image_location
   ) A     
0 голосов
/ 26 мая 2020

При использовании php вы можете присвоить частичный URL-адрес переменной:

$partialUrl="www.example.site/media/";

Затем при выводе вы можете сделать:

src="<?php echo $partialUrl;?>/folder/image-name.jpg"

Если он чистый SQL , вы можете создать частичные URL-адреса таблицы с двумя столбцами: name и url. Затем получите URL:

quer_for_url = "SELECT `url` FROM `partialUrls` where `name`='urlone'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...