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

Откуда:
Сообщений: 68
Добрый день.
Помогите, пожалуйста, со следующей проблемой.
Есть столбец с адресами. Бывает адреса указаны с индексом, бывает без индекса:
675901, Амурская обл, Благовещенский р-н, Владимировка с., дом 1
Амурская обл, Благовещенский р-н, Владимировка с., дом 1

Нужно написать следующее:
- если адрес без индекса, то вывести его целиком;
- если с индексом, то вот эту часть "675901, " нужно отсечь и вывести адрес, начиная с девятого символа.

Подскажите, пожалуйста, как это можно сделать.
15 май 19, 04:08    [21884888]     Ответить | Цитировать Сообщить модератору
 Re: Выделить часть строки  [new]
Kopelly
Member

Откуда: Красноярск
Сообщений: 278
case When PATINDEX('[0-9][0-9][0-9][0-9][0-9][0-9]%',Address) = 1 Then substring(Address,9,100000) Else Address End
15 май 19, 04:15    [21884889]     Ответить | Цитировать Сообщить модератору
 Re: Выделить часть строки  [new]
982183
Member

Откуда: VL
Сообщений: 2815
Было такое.
Индексы могут быть неправильные (по 5 символов)
15 май 19, 04:20    [21884890]     Ответить | Цитировать Сообщить модератору
 Re: Выделить часть строки  [new]
*Ann*
Member

Откуда:
Сообщений: 68
Спасибо.
Все получилось.
15 май 19, 05:49    [21884901]     Ответить | Цитировать Сообщить модератору
 Re: Выделить часть строки  [new]
982183
Member

Откуда: VL
Сообщений: 2815
И всё же я бы обрезал всё до первого ", " (+2) у адресов с первой цифрой.
И то в случае если пробелы после запятой 100%
15 май 19, 08:33    [21884934]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить