Например, если требуется вывести различные значения месяца и года начислений за услугу газоснабжения с кодом 2, отнесенные на первое число соответствующего месяца, то запрос может выглядеть следующим образом: SELECT DISTINCT NachislMonth, NachislYear,
CAST('1.' || NachislMonth || '.' || NachislYear as date) as FirstDay
FROM NachislSumma WHERE GazServiceCD = 2;. Результат выполнения запроса представлен на рис. 3.33.
|
NACHISLMONTH |
NACHISLYEAR |
FIRSTDAY |
|
1 |
1999 |
01.01.1999 |
|
1 |
2000 |
01.01.2000 |
|
4 |
1999 |
01.04.1999 |
|
5 |
2001 |
01.05.2001 |
|
6 |
2001 |
01.06.2001 |
|
8 |
2001 |
01.08.2001 |
|
9 |
2000 |
01.09.2000 |
|
9 |
2001 |
01.09.2001 |
|
10 |
1998 |
01.10.1998 |
|
10 |
2001 |
01.10.2001 |
|
11 |
2001 |
01.11.2001 |
|
12 |
2000 |
01.12.2000 |
|
12 |
2001 |
01.12.2001 |
Рис. 3.33. Результат работы функции CAST
Кроме того, можно преобразовывать числовые типы в строку и наоборот. Например, чтобы при выводе увеличить номер лицевого счета всех абонентов на 2, нужно использовать следующий запрос:
SELECT (CAST (AccountCD AS INTEGER)+2) AS New_Acс, Fio FROM Abonent;. Если, например, нужно вывести значения начислений абоненту с номером лицевого счета '115705', округленными до целого значения, то для этого можно использовать следующий запрос:
предыдущаяследующая