С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 29/09/10 в 21:11 |
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 29/09/10 в 21:25 |
Код: | CONCAT(str1,str2,...)
Returns the string that results from concatenating the arguments. Returns NULL if any argument is NULL. May have one or more arguments. If all arguments are non-binary strings, the result is a non-binary string. If the arguments include any binary strings, the result is a binary string. A numeric argument is converted to its equivalent binary string form.
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() stands for CONCAT With Separator and is a special form of CONCAT(). The first argument is the separator for the rest of the arguments. The separator is added between the strings to be concatenated. The separator can be a string as can the rest of the arguments. If the separator is NULL, the result is NULL. The function skips any NULL values after the separator argument.
mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
-> 'First name,Last Name'
|
один из двух вариантов
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 29/09/10 в 21:39 |
а как это будет в реальном запросе выглядеть?
|
|
|
|
С нами с 10.12.03
Сообщения: 1615
Рейтинг: 870
|
Добавлено: 29/09/10 в 22:01 |
если айди в поле UID1, то выглядеть будет так
Код: | select CONCAT("http://URL.COM/",UID1,"?ie=someparam&tag=",UID1) as MYLINK from TABLE1 WHERE УСЛОВИЕ; |
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 29/09/10 в 22:05 |
весь линк в одном поле в месте с айди, оно не отдельно, поэтому несовсем понял как можно сцепить то что в одном поле
раньше я делал так
UPDATE table SET field = REPLACE(field,"old","new")
но в этом случае таким образом можно заменить только то что в линке до ID
а вот как добавить параметры линка после ID и добавить в конец линка айди ведь он уникальный для каждой ссылки
Последний раз редактировалось: Newestage (29/09/10 в 22:20), всего редактировалось 2 раз(а)
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 29/09/10 в 22:12 |
Тогда: SUBSTRING(str FROM pos FOR len)
Код: |
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
|
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 12.04.10
Сообщения: 45
Рейтинг: 26
|
Добавлено: 29/09/10 в 22:32 |
Код: | UPDATE table SET url2 = CONCAT("http://othertext.com/otherfolder/", SUBSTRING(url1 FROM 27),"?ie=someparam&tag=", SUBSTRING(url1 FROM 27))
WHERE условие; |
27 - позиция символа с которого начинается UNIQUE-ID
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 29/09/10 в 23:15 |
а как это будет работать для массива ссылок? ведь url1 каждая со своим уникальным ID
|
|
|
|
С нами с 10.12.03
Сообщения: 1615
Рейтинг: 870
|
Добавлено: 29/09/10 в 23:21 |
ну тогда тебе в сторону регулярных выражений нужно смотреть.
и вообще, я бы эту логику вынес в скрипт, а не оставлял на уровне СУБД.
|
|
|
|
С нами с 19.06.05
Сообщения: 312
Рейтинг: 189
|
Добавлено: 29/09/10 в 23:37 |
там еще проблема в том что в поле которое содержит урл еще много всего текст html т.е. uniqueID в каждом случае на разной позиции
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 30/09/10 в 05:45 |
я так понимаю это разовое действие? так тогда проще будет из пхп например сделать запрос и преобразовывая урлы удобным способом в цикле апдейтить их назад, и не париться.
|
|
|
|
С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090
|
Добавлено: 30/09/10 в 14:55 |
Если бы данные лежали в нормальном формализированном виде (хотя бы один урл в ячейке) то это была задача для мускула. А найти урл в тексте, потом ещё выполнить замены - проще и быстре на пыхе или питоне
|
|
|
|