Oracle PL/SQL •MySQL •SQL Server. Sql trunc


TRUNC ФУНКЦИЯ (ДЛЯ ДАТ) | Oracle PL/SQL •MySQL •SQL Server

Узнайте, как использовать функцию TRUNC Oracle / PLSQL с синтаксисом и примерами.

Описание

Функция Oracle / PLSQL TRUNC возвращает дату, усеченную к определенной единице измерения.

Синтаксис

Синтаксис функции Oracle / PLSQL TRUNC:

TRUNC ( date, [ format ] )

Параметры или аргументы

date дата для усечения.format единица измерения, которая применяется для усечения. Если параметр format опущен, функция TRUNC обрежет дату до значения дня, так что любые часы, минуты, или секунды будут усечены.

Ниже приведены допустимые параметры format:

Unit Допустимый формат параметров Правило округления
Year SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y Rounds up on July 1st
ISO Year IYYY, IY, I
Quarter Q Rounds up on the 16th day of the second month of the quarter
Month MONTH, MON, MM, RM Rounds up on the 16th day of the month
Week WW Same day of the week as the first day of the year
IW IW Same day of the week as the first day of the ISO year
W W Same day of the week as the first day of the month
Day DDD, DD, J
Start day of the week DAY, DY, D
Hour HH, Hh22, Hh34
Minute MI

Применение

Функцию TRUNC можно использовать в следующих версиях Oracle / PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Пример для дат

Рассмотрим несколько примеров функции TRUNC и изучим, как использовать функцию TRUNC в Oracle / PLSQL.

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'YEAR') AS RESULT FROM DUAL; RESULT ----------- 01.01.2014 SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'Q') AS RESULT FROM DUAL; RESULT ----------- 01.07.2014 SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'MONTH') AS RESULT FROM DUAL; RESULT ----------- 01.08.2014 SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'DDD') AS RESULT FROM DUAL; RESULT ----------- 31.08.2014 SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'DAY') AS RESULT FROM DUAL; RESULT ----------- 25.08.2014

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'YEAR') AS RESULT FROM DUAL;

RESULT

-----------

01.01.2014

 

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'Q') AS RESULT FROM DUAL;

RESULT

-----------

01.07.2014

 

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'MONTH') AS RESULT FROM DUAL;

RESULT

-----------

01.08.2014

 

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'DDD') AS RESULT FROM DUAL;

RESULT

-----------

31.08.2014

 

SQL> SELECT TRUNC(TO_DATE('31.08.2014'), 'DAY') AS RESULT FROM DUAL;

RESULT

-----------

25.08.2014

oracleplsql.ru

TRUNC ФУНКЦИЯ (ДЛЯ ЧИСЕЛ) | Oracle PL/SQL •MySQL •SQL Server

Узнайте, как использовать функцию TRUNC Oracle / PLSQL с синтаксисом и примерами.

Описание

Функция Oracle / PLSQL TRUNC возвращает число, усеченное до определенного количества знаков после запятой.

Синтаксис

Синтаксис функции Oracle / PLSQL TRUNC:

TRUNC( number, [ decimal_places ] )

Параметры или аргументы

number число для усечения.

decimal_places это количество десятичных разрядов для усечения. Это значение должно быть целым числом. Если этот параметр не указан, функция TRUNC вернет целое число. Если параметр отрицательный, усекаются цифры слева от десятичной точки.

Применение

Функцию TRUNC можно использовать в следующих версиях Oracle / PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Рассмотрим несколько примеров функции TRUNC и изучим, как использовать функцию TRUNC в Oracle / PLSQL.

Пример для чисел

SQL> SELECT TRUNC(123.456) FROM DUAL; TRUNC(123.456) -------------- 123 SQL> SELECT TRUNC(123.456, 0) FROM DUAL; TRUNC(123.456,0) ---------------- 123 SQL> SELECT TRUNC(123.456, 1) FROM DUAL; TRUNC(123.456,1) ---------------- 123,4 SQL> SELECT TRUNC(123.456, 2) FROM DUAL; TRUNC(123.456,2) ---------------- 123,45 SQL> SELECT TRUNC(123.456, 3) FROM DUAL; TRUNC(123.456,3) ---------------- 123,456 SQL> SELECT TRUNC(-123.456, 2) FROM DUAL; TRUNC(-123.456,2) ----------------- -123,45 SQL> SELECT TRUNC(123.456, -1) FROM DUAL; TRUNC(123.456,-1) ----------------- 120 SQL> SELECT TRUNC(123.456, -2) FROM DUAL; TRUNC(123.456,-2) ----------------- 100 SQL> SELECT TRUNC(123.456, -3) FROM DUAL; TRUNC(123.456,-3) ----------------- 0

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

32

33

34

35

36

37

38

39

40

41

42

43

44

SQL> SELECT TRUNC(123.456) FROM DUAL;

TRUNC(123.456)

--------------

           123

 

SQL> SELECT TRUNC(123.456, 0) FROM DUAL;

TRUNC(123.456,0)

----------------

             123

 

SQL> SELECT TRUNC(123.456, 1) FROM DUAL;

TRUNC(123.456,1)

----------------

           123,4

 

SQL> SELECT TRUNC(123.456, 2) FROM DUAL;

TRUNC(123.456,2)

----------------

          123,45

 

SQL> SELECT TRUNC(123.456, 3) FROM DUAL;

TRUNC(123.456,3)

----------------

         123,456

 

SQL> SELECT TRUNC(-123.456, 2) FROM DUAL;

TRUNC(-123.456,2)

-----------------

          -123,45

 

SQL> SELECT TRUNC(123.456, -1) FROM DUAL;

TRUNC(123.456,-1)

-----------------

              120

 

SQL> SELECT TRUNC(123.456, -2) FROM DUAL;

TRUNC(123.456,-2)

-----------------

              100

 

SQL> SELECT TRUNC(123.456, -3) FROM DUAL;

TRUNC(123.456,-3)

-----------------

                0

oracleplsql.ru

функция Trunc (для дат) « Справочник по Oracle PL/SQL

В Oracle/PLSQL, функция trunc возвращает дату усеченную до опредленной единицы измерения.

Синтаксис функции trunc:

trunc ( date, [ format ] )

date — усекаемя дата.

format — единица измерения применяемая для усечения. Если параметр format пропущен, функция trunc усечет дату до дня, то есть часы, минуты, и секунды будут отсечены.

Ниже приведены параметры, используемые в формате усечения:

Единица Действующий параметры формата
Год SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y
ISO Год IYYY, IY, I
Четверть Q
Месяц MONTH, MON, MM, RM
Нделя WW
IW IW
W W
День DDD, DD, J
Первый день недели DAY, DY, D
Час HH, Hh22, Hh34
Минута MI

Применяется:

  • Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g

Например:

trunc(to_date(’22-AUG-03′), ‘YEAR’) вернет ‘01-JAN-03′
trunc(to_date(’22-AUG-03′), ‘Q’) вернет ‘01-JUL-03′
trunc(to_date(’22-AUG-03′), ‘MONTH’) вернет ‘01-AUG-03′
trunc(to_date(’22-AUG-03′), ‘DDD’) вернет ‘22-AUG-03′
trunc(to_date(’22-AUG-03′), ‘DAY’) вернет ‘17-AUG-03′

Запись опубликована 23.12.2009 в 5:27 дп и размещена в рубрике Oracle PL/SQL. Вы можете следить за обсуждением этой записи с помощью ленты RSS 2.0. Можно оставить комментарий или сделать обратную ссылку с вашего сайта.

plsqlbook.ru