|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Добрый день. Есть таблица с полями spolis и npolis. В столбце spolis могут быть такие данные: 1. серия состоящая из трех символов типа КАГ, ШАМ 2. может не быть ничего в столбце npolis может быть все что угодно разной длины Как сделать следующую вещь: Выбрать записи у которых в поле spolis количество символов = 3 И для этих записей в поле npolis сделать такое: начиная с конца оставить 7 символов и добавить в начало 00. Т.е. есть к примеру запись КОЛ - spolis 32434 № КОЛ 67885423234 - npolis. здесь npolis привести к виду - 005423234 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 10:20 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 10:28 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Dima T, Спасибо, но если в поле npolis есть такая запись 1525 № 160343, то в поле npolis2 получается такой результат 00 160343. Т.е. пробел остается перед 1. Как это можно исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 10:56 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:19 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста запросом лишние символы типа "№", "-", " " заменяю на 0 так Код: sql 1. 2. 3.
А можно это в одном выражении сделать чтобы три запроса не писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:21 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:28 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
kolhozDima T, Спасибо, но если в поле npolis есть такая запись 1525 № 160343, то в поле npolis2 получается такой результат 00 160343. Т.е. пробел остается перед 1. Как это можно исправить? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:32 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Crispy Код: sql 1.
Нулей надо три, по одному на каждый символ Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:34 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Crispy, я так писал, почему-то если в выражении встречается такой случай " № ", то только № заменяется на 0, а пробелы игноригуются ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:34 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
Dima T, а можно комментарий что делается тут padl(right(alltrim(npolis), 7), 9, '0') ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:40 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
kolhozDima T, а можно комментарий что делается тут padl(right(alltrim(npolis), 7), 9, '0') alltrim(npolis) - убирает начальные/конечные пробелы npolis. В данном случае можно использовать rtrim() - убирает конечные пробелы. Работает чуть быстрее. right(..., 7) берет последние 7 символов, если их меньше, то сколько есть padl(..., 9, '0') добивает нулями слева до 9 символов ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 11:59 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
kolhozCrispy, я так писал, почему-то если в выражении встречается такой случай " № ", то только № заменяется на 0, а пробелы игноригуются см. сюда 18044672 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 12:00 |
|
Определить длину записи в одном столбце
|
|||
---|---|---|---|
#18+
У временных свидетельств стали появляться буквенные серии, если не сложно сказать то в какой области? kolhozDima T, а можно комментарий что делается тут padl(right(alltrim(npolis), 7), 9, '0') PADL() Возвращает в виде символьной строки, заданную первым аргументом строку, дополненную третьим аргументом до длины, заданной вторым аргументом, причем вставляет символы-заполнители слева. alltrim(npolis) - берет значение из номера полиса без начальных и концевых пробелов. right(alltrim(npolis), 7) - из значения номера полиса без начальных и концевых пробелов справа берет 7 символов. padl(right(alltrim(npolis), 7), 9, '0') - изменяет размерность 7 символов полученных ранее до 9 и заполняет слева указанным символы-заполнителем до размерности 9. Т.е. если вы укажите размерность 11 или 16 то и получите заполнение слева 0 до этой размерности. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2015, 12:02 |
|
|
start [/forum/topic.php?fid=41&msg=39033008&tid=1582280]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 176ms |
0 / 0 |