#mysql #sql #variables #replace
#mysql #sql #переменные #заменить
Вопрос:
Я хотел бы обновить тысячи записей в моей базе данных SQL.
мой post_content из my_table выглядит так:
blablabla htt *://vimeo.com/12345678 блаблабла
или
блаблабла htt*://vimeo.com/12345678 блаблабла htt*://vimeo.com/12345678 (блаблабла)
и я хотел бы заменить
htt*://vimeo.com/12345678
Автор:
<iframe src="htt*://player.vimeo.com/video/12345678?title=0amp;amp;byline=0amp;amp;portrait=0" width="400" height="300" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>
Проблема в том, что 12345678 отличается в каждом сообщении … и я должен заменить код перед этим номером и добавить код после этого номера.
Заменить код перед номером легко, но после, я не знаю, как это сделать? Как сказать функции замены: найдите htt*://vimeo/12345678 и укажите после чисел и добавьте «?title=0amp;a …< /iframe> .
Есть идеи?
Комментарии:
1. Какая версия SQL? MySQL? Microsoft SQL 2005, MS SQL 2008, Oracle?
2. Звучит как плохая идея. Оскорбление нормализации. Следующим шагом, вероятно, будет помещение VB-script в строку базы данных.
3. В первой строке он пишет «my SQL dB». Я добавил тег.
4. Методы встраивания видео время от времени меняются. Почему бы просто не сохранить идентификатор и оставить рендеринг вашему скрипту PHP / ASP?
Ответ №1:
Если я правильно понял, я полагаю, вы можете создать свою собственную функцию, которая принимает некоторые переменные и внутри нее выполняет некоторую замену и т. Д.
CREATE FUNCTION MyReplace (Link nvarchar(4000), myVar nvarchar(500))
RETURNS nvarchar
DECLARE Result nvarchar(4000)
--create some replacing logic here, call REPLACE function etc:
--Result=...
RETURN Result
Позже вызовите эту функцию в своем запросе, передав два параметра — исходную ссылку и вашу переменную.
Однако я не уверен, что это хорошая практика, как упоминалось выше.