powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обратное действия LPAD (Firebrid)
25 сообщений из 37, страница 1 из 2
Обратное действия LPAD (Firebrid)
    #38837814
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Префикс = '0';
Номер = 12;
Длина кода = 5;

Получаю с помощью lpad(12, 5, '0') = '00012';

Теперь как я могу получить цифру 12 обратно.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837816
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Префикс может был любой.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837831
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

replace( str, :prefix, '' )
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837837
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

А что будет с '000102'? :)
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837838
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидAlimkulov,

replace( str, :prefix, '' )

Про это я знал. Но когда код имеет 00030, то replace( str, :prefix, '' ) дает результат 3. Вот в чем проблема!
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837840
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlimkulovВсем привет!

Префикс = '0';
Номер = 12;
Длина кода = 5;

Получаю с помощью lpad(12, 5, '0') = '00012';

Теперь как я могу получить цифру 12 обратно.

Код: sql
1.
2.
3.
4.
5.
6.
7.
declare CODE integer;
declare S varchar(100);

CODE = '00012';
S = CODE;

suspend; ?
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837845
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,
Тоже не вариант! Потому что префикс вдруг имеет значение 'F'. Тогда код получается 'FFF12'.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837856
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
select trim(LEADING '0' from '00012')
from rdb$database
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837860
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulov,

trim()
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837871
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulovpastor,
Тоже не вариант! Потому что префикс вдруг имеет значение 'F'. Тогда код получается 'FFF12'.

хоть что-то известно про структуру кода?

substring может помочь.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837872
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastor,

Уже 2 раза правильно ответили. Не читатель?
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837878
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad333
Код: sql
1.
2.
select trim(LEADING '0' from '00012')
from rdb$database



Спасибо! Можете объяснить, в чем здесь секрет?
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837883
vlad333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Секрет в том, что ФБ поддерживает такой синтаксис
http://firebirdsql.su/doku.php?id=trim

А мсскл так не умеет.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837884
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А всё, понял!

Syntax:
Код: sql
1.
2.
3.
4.
5.
TRIM ([<adjust>] str)
<adjust>::= {[where] [what]} FROM
where::= BOTH | LEADING | TRAILING /* default is BOTH */
what ::= The substring to be removed (repeatedly if necessary)
from str's head and/or tail. Default is ' ' (space).



Examples:
Код: sql
1.
2.
3.
4.
5.
6.
select trim (' Waste no space ') from rdb$database                      -- returns 'Waste no space'
select trim (leading from ' Waste no space ') from rdb$database     -- returns 'Waste no space '
select trim (leading '.' from ' Waste no space ') from rdb$database  -- returns ' Waste no space '
select trim (trailing '!' from 'Help!!!!') from rdb$database                -- returns 'Help'
select trim ('la' from 'lalala I love you Ella') from rdb$database        -- returns ' I love you El'
select trim ('la' from 'Lalala I love you Ella') from rdb$database       -- returns 'Lalala I love you El'
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837976
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alimkulovпрефикс вдруг имеет значение 'F'. Тогда код получается 'FFF12'.
А если префикс имеет значение "1", то ты обламываешься при любом раскладе. И это
правильно, ибо за такое проектирование БД надо руки отрывать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837987
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

но если использовaть строчные цифры...

вообще это уже старую игрушку color wars напоминает
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38837997
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlimkulovпрефикс вдруг имеет значение 'F'. Тогда код получается 'FFF12'.
А если префикс имеет значение "1", то ты обламываешься при любом раскладе. И это
правильно, ибо за такое проектирование БД надо руки отрывать.

Префикс не имеет значение "1" и от 1 до 9. Эти же цифры не префиксами считаются а считаются номерами кода!

Dimitry SibiryakovИ это правильно, ибо за такое проектирование БД надо руки отрывать.

Где то я читал эту выражении. Вы всегда и всем так?

Мое мнения: лучше быт человеком, чем быт профессиональным программистам как Вы!
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838010
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlimkulovВы всегда и всем так?
Нет, только проктостоматологам. Как только к твоему числу прибавился префикс и результат
был занесён в какое-то поле, на него распространяется первая НФ, которая запрещает
выделять из значения отдельные куски.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838017
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlimkulovDimitry SibiryakovИ это правильно, ибо за такое проектирование БД надо руки отрывать.

Где то я читал эту выражении. Вы всегда и всем так?

Мое мнения: лучше быт человеком, чем быт профессиональным программистам как Вы!

Ну это ты зря. Пока учишься (или шлифуешь свои умения до профессионализма) - нужен кто-то кто подскажет. А способы подсказать могут быть разными - кто то разжует и сопли вытрет в рот положит,а кто то носом ткнет в косяки.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838064
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMaxА что будет с '000102'? :)да, я когда "увидел" это, то комп уже выключил. Фиг с ним, тут уже ответ правильный привели :-)
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838096
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovпервая НФ, которая запрещает
выделять из значения отдельные кускиу меня теоретический вопрос.
кому запрещает?
взять тот же ИНН, он может формироваться динамически, а потом из него можно вытащить номер региона.
почему мне этого не сделать?
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838103
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидя когда "увидел" это, то комп уже выключил
матрица поимела тебя, Нео? :-)
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838112
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roadsterпочему мне этого не сделать?
"ТАм проезд запрещён, обрыв. Но Вам - туда можно." (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838128
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не хранить только хэш MD5 от ИНН?
Ведь потом из него можно вытащить ИНН, минутное дело на любом суперкомпьютере из топ-100.
...
Рейтинг: 0 / 0
Обратное действия LPAD (Firebrid)
    #38838152
Alimkulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значить идея такая!
User настроить код товара как ему нравится!
Для группы товаров компьютеры, он настроить:

префикс = 'COMP';
длина кода = 6;

Тогда мой алгоритм даст ему код для первого компьютера 'COMP01', для 20 - го комп. 'COMP20'.

Что то не так?
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обратное действия LPAD (Firebrid)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]