SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.03.2009 17:11:32

dead
Участник
Зарегистрирован: 16.08.2008
Сообщений: 14

Замена подстроки

есть строка (обозначающая ip адрес, если так понятней): 'aa.bb.cc.dd', где a,b,c,d - цифры. Необходимо первые 2 октета заменить на '192.168', т.е на выходе получить: '192.168.cc.dd'. Как сделать не знаю ибо регулярные выражения, насколько я понял, могут использоваться только для поиска, но не для замены...

Неактивен

 

#2 03.03.2009 17:20:08

dead
Участник
Зарегистрирован: 16.08.2008
Сообщений: 14

Re: Замена подстроки

Уточнение: преобразование будет происходить в процедуре, т.е многоходовка допускается

Неактивен

 

#3 03.03.2009 17:29:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Замена подстроки

Код:

mysql> SELECT INET_NTOA(3232235520 + (INET_ATON('1.2.3.4') & 65535)) ;
+--------------------------------------------------------+
| INET_NTOA(3232235520 + (INET_ATON('1.2.3.4') & 65535)) |
+--------------------------------------------------------+
| 192.168.3.4                                            | 
+--------------------------------------------------------+
1 row in set (0.00 sec)

Первое число — INET_ATON('192.168.0.0').

Неактивен

 

#4 03.03.2009 17:38:20

dead
Участник
Зарегистрирован: 16.08.2008
Сообщений: 14

Re: Замена подстроки

Супер, я только что сам написал такой код:
SELECT INET_NTOA((INET_ATON('67.89.12.245') & 65535) + INET_ATON('192.168.0.0'));
и решил отписаться, тут вы именно так и написали. Все равно спасибо, значит я в правильном направлении. Благодарю

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson