Dates & time Scalar

strftime()

Converts a date to a string according to the format string.

Arguments & returns

7 overloads

strftime(data, format)

Scalar
Overload link dataformat Returns
#01 DATEVARCHAR VARCHAR
#02 TIMESTAMP WITH TIME ZONEVARCHAR VARCHAR
#03 TIMESTAMP_NSVARCHAR VARCHAR
#04 TIMESTAMPVARCHAR VARCHAR
#05 VARCHARDATE VARCHAR
#06 VARCHARTIMESTAMP VARCHAR
#07 VARCHARTIMESTAMP_NS VARCHAR

Example

strftime example
SQL
Haybarn WASM 1.5.5-rc3 · In your browser

Engine example · Run to view results.

In other engines

PostgreSQLto_char()

Timestamp formatting
SELECT
  TO_CHAR(created_at, 'YYYY-MM-DD HH24:MI:SS');
In DuckDB
SELECT
  STRFTIME(created_at, '%Y-%m-%d %H:%M:%S');

SQLGlot example ↗

Apache Hivedate_format()

DATE_FORMAT('2020-01-01', 'yyyy-MM-dd HH:mm:ss')
In DuckDB
STRFTIME(CAST('2020-01-01' AS TIMESTAMP), '%Y-%m-%d %H:%M:%S')

SQLGlot example ↗

BigQueryformat_date()

SELECT FORMAT_DATE('%Y%m%d', '2023-12-25')
In DuckDB
SELECT STRFTIME(CAST('2023-12-25' AS DATE), '%Y%m%d')

SQLGlot example ↗

MySQLdate_format()

SELECT DATE_FORMAT('2021-01-01 22:23:00', '%x')
In DuckDB
SELECT STRFTIME(CAST('2021-01-01 22:23:00' AS TIMESTAMP), '%G')

SQLGlot example ↗

Prestodate_format()

DATE_FORMAT(x, '%Y-%m-%d %H:%i:%S')
In DuckDB
STRFTIME(x, '%Y-%m-%d %H:%M:%S')

SQLGlot example ↗

SQLitestrftime()

SELECT STRFTIME('%Y-%m-%d', CURRENT_TIMESTAMP)
In DuckDB
SELECT STRFTIME(CAST(CURRENT_TIMESTAMP AS TIMESTAMP), '%Y-%m-%d')

SQLGlot example ↗

Snowflake

SELECT DAYNAME(TO_DATE('2025-01-15'))
In DuckDB
SELECT STRFTIME(CAST('2025-01-15' AS DATE), '%a')

SQLGlot example ↗