Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как распарсить IP адрес  [new]
beaver06
Member

Откуда:
Сообщений: 681
Подскажите как распарсить IP адрес, т.е. строку следуюшего вида: 192.168.0.1:2345. Мне нужно в запросе вывести только ip (до :)
10 сен 09, 16:25    [7643343]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Строковые функции (Transact-SQL)
10 сен 09, 16:26    [7643361]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
O_val
Member

Откуда:
Сообщений: 157
select parsename('1.2.3.4',4)
select parsename('1.2.3.4',3)
select parsename('1.2.3.4',2)
select parsename('1.2.3.4',1)


10 сен 09, 16:33    [7643427]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
Glory
Member

Откуда:
Сообщений: 104760
O_val
select parsename('1.2.3.4',4)
select parsename('1.2.3.4',3)
select parsename('1.2.3.4',2)
select parsename('1.2.3.4',1)



И что из этого "выведет только ip до :" ?
10 сен 09, 16:34    [7643443]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
O_val
Member

Откуда:
Сообщений: 157
нет.
Возможно следующим будет вопрос, как распрасить сам IP до :
:)
10 сен 09, 16:36    [7643463]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
beaver06
Member

Откуда:
Сообщений: 681
O_val
нет.
Возможно следующим будет вопрос, как распрасить сам IP до :
:)


нет, не будет. Мне нужен только адрес, порт не нужен
10 сен 09, 16:39    [7643488]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
beaver06
Member

Откуда:
Сообщений: 681
Так что никто не знает?
10 сен 09, 16:46    [7643545]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
el Pueblo
Member

Откуда: Харьков
Сообщений: 202
beaver06
Так что никто не знает?

а вы по ссылке Паганеля ходили?
10 сен 09, 16:48    [7643556]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
Glory
Member

Откуда:
Сообщений: 104760
beaver06
Так что никто не знает?

Знают. Даже дали ссылку на Строковые функции (Transact-SQL). Вы ее открывали ?
10 сен 09, 16:48    [7643557]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
beaver06
Member

Откуда:
Сообщений: 681
el Pueblo,

Ходил, щас там. Не соображает башка к вечеру уже...
10 сен 09, 16:49    [7643561]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
O_val
Member

Откуда:
Сообщений: 157
charindex, substring
10 сен 09, 16:50    [7643572]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
el Pueblo
Member

Откуда: Харьков
Сообщений: 202
beaver06
el Pueblo,

Ходил, щас там. Не соображает башка к вечеру уже...

напимер так
select left('192.168.0.1:2345', charindex(':','192.168.0.1:2345')-1)
10 сен 09, 16:51    [7643578]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
beaver06
Member

Откуда:
Сообщений: 681
el Pueblo
beaver06
el Pueblo,

Ходил, щас там. Не соображает башка к вечеру уже...

напимер так
select left('192.168.0.1:2345', charindex(':','192.168.0.1:2345')-1)


el Pueblo! Спасибо, большое
10 сен 09, 16:52    [7643588]     Ответить | Цитировать Сообщить модератору
 Re: Как распарсить IP адрес  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
DECLARE @IP VARCHAR(100);
SET @IP='192.168.0.1:2345';
SELECT LEFT(PARSENAME(IP,4),3), LEFT(PARSENAME(IP,3),3), LEFT(PARSENAME(IP,2),3), LEFT(PARSENAME(IP,1),3)
FROM (SELECT ISNULL(LEFT(@IP, NULLIF(PATINDEX('%[^.0-9]%',@IP),0)-1),@IP))T(IP);
10 сен 09, 17:16    [7643744]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить