## Syntax ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR Start((START)) --> FLOOR[FLOOR]:::quoted FLOOR --> End((END)) ``` ## Purpose The `FLOOR` SQL function rounds the input to the smallest preceding integer. Unless a number of decimals is defined, in which case it rounds to the smallest integer with the number of decimals or date with the number of positions. See also: [[CEIL]], [[TRUNC]] and [[ROUND]]. Parameters: - Input: A number or datetime to floor. - Decimals (optional) A number to specify how many decimals it may floor to in case of a number. In case of a datetime, it reflects the number of time positions, ranging from -2 for years to 2 for minutes. Returns: the floor of the input. The time positions are: - 2: minute - 1: hour - 0: day - -1: month - -2: year ## Examples The following example retrieves the floor of -15.32: ```sql select floor(-15.32) -------- -16 ``` The following example retrieves the floor of -15.32 with 1 positions: ```sql select floor(-15.32, 1) -------- -15.4 ``` The following example retrieves the floor of -15.32 with -1 positions: ```sql select floor(-15.32, -1) -------- -20 ``` The following example retrieves the floor of the date 2026-05-19 13:20:34: ```sql select to_char(floor(to_date('20260519132034', 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS') ---------------- 20260519000000 ``` The following example retrieves the floor of the date 2026-05-19 13:20:34 with 1 time positions: ```sql select to_char(floor(to_date('20260519132034', 'YYYYMMDDHH24MISS'), 1), 'YYYYMMDDHH24MISS') ---------------- 20260519130000 ```