powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как правильно сделать
3 сообщений из 3, страница 1 из 1
Как правильно сделать
    #39395285
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имею 3 таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE TABLE OBLAST (
    ID       INTEGER NOT NULL,
    NAME     VARCHAR(35) CHARACTER SET WIN1251,
    SUPPORT  INTEGER DEFAULT 0 NOT NULL
);

CREATE TABLE RAJON (
    ID       INTEGER NOT NULL,
    ID_OBL   INTEGER NOT NULL,
    NAME     VARCHAR(50) CHARACTER SET WIN1251,
    ADRES    VARCHAR(50) CHARACTER SET WIN1251,
    EMAIL    VARCHAR(100) CHARACTER SET WIN1251,
    PHONE    VARCHAR(150) CHARACTER SET WIN1251,
    SUPPORT  INTEGER DEFAULT 0 NOT NULL,
    ID_ZVIT  INTEGER DEFAULT 0 NOT NULL
);

CREATE TABLE ZAUVAG (
    ID            BIGINT NOT NULL,
    DATA_ROZGL    DATE NOT NULL,
    DATA_MAIL     DATE,
    DATA_CORRECT  DATE,
    ID_OBLAST     INTEGER NOT NULL,
    ID_RAJON      INTEGER NOT NULL,
    TIP           SMALLINT,
    ID_PROG       INTEGER,
    ZMIST         VARCHAR(2500) CHARACTER SET WIN1251,
    RESULTS       VARCHAR(1000) CHARACTER SET WIN1251
);



Далее делаю запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
SELECT
    ZAU.ID,
    ZAU.DATA_ROZGL,
    ZAU.DATA_MAIL,
    ZAU.DATA_CORRECT,
    cast(ZAU.ID_OBLAST as char(2)) ||
      cast(ZAU.ID_RAJON as char(2)) ||
      ' ' || RJ.NAME as rj_name,
    --ZAU.ID_RAJON,
    case zau.tip
        when 1 then 'Телефон'
        when 2 then 'Пошта'
        when 3 then 'Інше'
        else 'Не визначено'
    end as tip,
    prg.name as prg_name,
    --ZAU.ID_PROG,
    ZAU.ZMIST,
    ZAU.RESULTS
FROM
    ZAUVAG ZAU,
    rajon rj,
    oblast obl,
    progs prg
WHERE
    zau.id_oblast=obl.id
    and zau.id_rajon=rj.id
    and zau.id_prog=prg.id
    and zau.DATA_CORRECT is null
order by
    zau.data_rozgl DESC



как мне вот в этом месте:
Код: sql
1.
cast(ZAU.ID_OBLAST as char(2)) || сast(ZAU.ID_RAJON as char(2))


получить числа с ведущими нулями.
Например у меня ZAU.ID_OBLAST=2 и ZAU.ID_RAJON=5 - нужно получить 0205

П.С. Поиском не нашел как, поэтому создаю новую тему

--------------------------
Firebird 2.5;
Windows 10 32-bit;
4Gb RAM;
SSD 512Mb + HDD 1 Tb;
Настройки по умолчанию
...
Рейтинг: 0 / 0
Как правильно сделать
    #39395307
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

Lpad
...
Рейтинг: 0 / 0
Как правильно сделать
    #39395317
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,
Спасибо
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как правильно сделать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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