Search Shortcut cmd + k | ctrl + k
		
	- Installation
 - Documentation
 - Getting Started
 - Connect
 - Data Import and Export
 - Overview
 - Data Sources
 - CSV Files
 - JSON Files
 - Overview
 - Creating JSON
 - Loading JSON
 - Writing JSON
 - JSON Type
 - JSON Functions
 - Format Settings
 - Installing and Loading
 - SQL to / from JSON
 - Caveats
 - Multiple Files
 - Parquet Files
 - Partitioning
 - Appender
 - INSERT Statements
 - Lakehouse Formats
 - Client APIs
 - Overview
 - Tertiary Clients
 - ADBC
 - C
 - Overview
 - Startup
 - Configuration
 - Query
 - Data Chunks
 - Vectors
 - Values
 - Types
 - Prepared Statements
 - Appender
 - Table Functions
 - Replacement Scans
 - API Reference
 - C++
 - CLI
 - Overview
 - Arguments
 - Dot Commands
 - Output Formats
 - Editing
 - Safe Mode
 - Autocomplete
 - Syntax Highlighting
 - Known Issues
 - Dart
 - Go
 - Java (JDBC)
 - Julia
 - Node.js (Deprecated)
 - Node.js (Neo)
 - ODBC
 - PHP
 - Python
 - Overview
 - Data Ingestion
 - Conversion between DuckDB and Python
 - DB API
 - Relational API
 - Function API
 - Types API
 - Expression API
 - Spark API
 - API Reference
 - Known Python Issues
 - R
 - Rust
 - Swift
 - Wasm
 - SQL
 - Introduction
 - Statements
 - Overview
 - ANALYZE
 - ALTER DATABASE
 - ALTER TABLE
 - ALTER VIEW
 - ATTACH and DETACH
 - CALL
 - CHECKPOINT
 - COMMENT ON
 - COPY
 - CREATE INDEX
 - CREATE MACRO
 - CREATE SCHEMA
 - CREATE SECRET
 - CREATE SEQUENCE
 - CREATE TABLE
 - CREATE VIEW
 - CREATE TYPE
 - DELETE
 - DESCRIBE
 - DROP
 - EXPORT and IMPORT DATABASE
 - INSERT
 - LOAD / INSTALL
 - MERGE INTO
 - PIVOT
 - Profiling
 - SELECT
 - SET / RESET
 - SET VARIABLE
 - SHOW and SHOW DATABASES
 - SUMMARIZE
 - Transaction Management
 - UNPIVOT
 - UPDATE
 - USE
 - VACUUM
 - Query Syntax
 - SELECT
 - FROM and JOIN
 - WHERE
 - GROUP BY
 - GROUPING SETS
 - HAVING
 - ORDER BY
 - LIMIT and OFFSET
 - SAMPLE
 - Unnesting
 - WITH
 - WINDOW
 - QUALIFY
 - VALUES
 - FILTER
 - Set Operations
 - Prepared Statements
 - Data Types
 - Overview
 - Array
 - Bitstring
 - Blob
 - Boolean
 - Date
 - Enum
 - Interval
 - List
 - Literal Types
 - Map
 - NULL Values
 - Numeric
 - Struct
 - Text
 - Time
 - Timestamp
 - Time Zones
 - Union
 - Typecasting
 - Expressions
 - Overview
 - CASE Expression
 - Casting
 - Collations
 - Comparisons
 - IN Operator
 - Logical Operators
 - Star Expression
 - Subqueries
 - TRY
 - Functions
 - Overview
 - Aggregate Functions
 - Array Functions
 - Bitstring Functions
 - Blob Functions
 - Date Format Functions
 - Date Functions
 - Date Part Functions
 - Enum Functions
 - Interval Functions
 - Lambda Functions
 - List Functions
 - Map Functions
 - Nested Functions
 - Numeric Functions
 - Pattern Matching
 - Regular Expressions
 - Struct Functions
 - Text Functions
 - Time Functions
 - Timestamp Functions
 - Timestamp with Time Zone Functions
 - Union Functions
 - Utility Functions
 - Window Functions
 - Constraints
 - Indexes
 - Meta Queries
 - DuckDB's SQL Dialect
 - Overview
 - Indexing
 - Friendly SQL
 - Keywords and Identifiers
 - Order Preservation
 - PostgreSQL Compatibility
 - SQL Quirks
 - Samples
 - Configuration
 - Extensions
 - Overview
 - Installing Extensions
 - Advanced Installation Methods
 - Distributing Extensions
 - Versioning of Extensions
 - Troubleshooting of Extensions
 - Core Extensions
 - Overview
 - AutoComplete
 - Avro
 - AWS
 - Azure
 - Delta
 - DuckLake
 - Encodings
 - Excel
 - Full Text Search
 - httpfs (HTTP and S3)
 - Iceberg
 - Overview
 - Iceberg REST Catalogs
 - Amazon S3 Tables
 - Amazon SageMaker Lakehouse (AWS Glue)
 - Troubleshooting
 - ICU
 - inet
 - jemalloc
 - MySQL
 - PostgreSQL
 - Spatial
 - SQLite
 - TPC-DS
 - TPC-H
 - UI
 - VSS
 - Guides
 - Overview
 - Data Viewers
 - Database Integration
 - File Formats
 - Overview
 - CSV Import
 - CSV Export
 - Directly Reading Files
 - Excel Import
 - Excel Export
 - JSON Import
 - JSON Export
 - Parquet Import
 - Parquet Export
 - Querying Parquet Files
 - File Access with the file: Protocol
 - Network and Cloud Storage
 - Overview
 - HTTP Parquet Import
 - S3 Parquet Import
 - S3 Parquet Export
 - S3 Iceberg Import
 - S3 Express One
 - GCS Import
 - Cloudflare R2 Import
 - DuckDB over HTTPS / S3
 - Fastly Object Storage Import
 - Meta Queries
 - Describe Table
 - EXPLAIN: Inspect Query Plans
 - EXPLAIN ANALYZE: Profile Queries
 - List Tables
 - Summarize
 - DuckDB Environment
 - ODBC
 - Performance
 - Overview
 - Environment
 - Import
 - Schema
 - Indexing
 - Join Operations
 - File Formats
 - How to Tune Workloads
 - My Workload Is Slow
 - Benchmarks
 - Working with Huge Databases
 - Python
 - Installation
 - Executing SQL
 - Jupyter Notebooks
 - marimo Notebooks
 - SQL on Pandas
 - Import from Pandas
 - Export to Pandas
 - Import from Numpy
 - Export to Numpy
 - SQL on Arrow
 - Import from Arrow
 - Export to Arrow
 - Relational API on Pandas
 - Multiple Python Threads
 - Integration with Ibis
 - Integration with Polars
 - Using fsspec Filesystems
 - SQL Editors
 - SQL Features
 - Snippets
 - Creating Synthetic Data
 - Dutch Railway Datasets
 - Sharing Macros
 - Analyzing a Git Repository
 - Importing Duckbox Tables
 - Copying an In-Memory Database to a File
 - Troubleshooting
 - Glossary of Terms
 - Browsing Offline
 - Operations Manual
 - Overview
 - DuckDB's Footprint
 - Installing DuckDB
 - Logging
 - Securing DuckDB
 - Non-Deterministic Behavior
 - Limits
 - DuckDB Docker Container
 - Development
 - DuckDB Repositories
 - Profiling
 - Building DuckDB
 - Overview
 - Build Configuration
 - Building Extensions
 - Android
 - Linux
 - macOS
 - Raspberry Pi
 - Windows
 - Python
 - R
 - Troubleshooting
 - Unofficial and Unsupported Platforms
 - Benchmark Suite
 - Testing
 - Internals
 - Sitemap
 - Live Demo
 
  
  
  Documentation
  
    
    
  
    
    
      
        
        
      
        
        
      
        
        
      
        
        
      
        
        
      
        
        
          / SQL
          
          
          
            
              
              
            
              
              
            
              
              
            
              
              
            
              
              
            
              
              
                / Functions
                
                
                
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                    
                    
                  
                
              
            
              
              
            
              
              
            
              
              
            
              
              
            
              
              
            
          
        
      
        
        
      
        
        
      
        
        
      
        
        
      
        
        
      
        
        
      
        
        
      
    
  
  
Time Functions
				This section describes functions and operators for examining and manipulating TIME values.
Time Operators
The table below shows the available mathematical operators for TIME types.
| Operator | Description | Example | Result | 
|---|---|---|---|
+ | 
      addition of an INTERVAL | 
      TIME '01:02:03' + INTERVAL 5 HOUR | 
      06:02:03 | 
    
- | 
      subtraction of an INTERVAL | 
      TIME '06:02:03' - INTERVAL 5 HOUR | 
      01:02:03 | 
    
Time Functions
The table below shows the available scalar functions for TIME types.
| Name | Description | 
|---|---|
date_diff(part, starttime, endtime) | 
      The number of part boundaries between starttime and endtime, inclusive of the larger time and exclusive of the smaller time. | 
    
date_part(part, time) | 
      Get subfield (equivalent to extract). | 
    
date_sub(part, starttime, endtime) | 
      The signed length of the interval between starttime and endtime, truncated to whole multiples of part. | 
    
extract(part FROM time) | 
      Get subfield from a time. | 
get_current_time() | 
      Current time (start of current transaction). | 
make_time(bigint, bigint, double) | 
      The time for the given parts. | 
The only date parts that are defined for times are epoch, hours, minutes, seconds, milliseconds and microseconds.
        
        date_diff(part, starttime, endtime)
        
      
    
| Description | The number of part boundaries between starttime and endtime, inclusive of the larger time and exclusive of the smaller time. | 
    
| Example | date_diff('hour', TIME '01:02:03', TIME '06:01:03') | 
    
| Result | 5 | 
    
| Alias | datediff | 
    
        
        date_part(part, time)
        
      
    
| Description | Get subfield (equivalent to extract). | 
    
| Example | date_part('minute', TIME '14:21:13') | 
    
| Result | 21 | 
    
| Alias | datepart | 
    
        
        date_sub(part, starttime, endtime)
        
      
    
| Description | The signed length of the interval between starttime and endtime, truncated to whole multiples of part. | 
    
| Example | date_sub('hour', TIME '01:02:03', TIME '06:01:03') | 
    
| Result | 4 | 
    
| Alias | datesub | 
    
        
        extract(part FROM time)
        
      
    
| Description | Get subfield from a time. | 
| Example | extract('hour' FROM TIME '14:21:13') | 
    
| Result | 14 | 
    
        
        get_current_time()
        
      
    
| Description | Current time (start of current transaction) in the local timezone as TIMETZ. | 
    
| Example | get_current_time() | 
    
| Result | 06:09:59.988+2 | 
    
| Alias | current_time (no parentheses necessary) | 
    
        
        make_time(bigint, bigint, double)
        
      
    
| Description | The time for the given parts. | 
| Example | make_time(13, 34, 27.123456) | 
    
| Result | 13:34:27.123456 | 
    
About this page
© 2025 DuckDB Foundation, Amsterdam NL