Formatting
In GlueSQL, you can format date, time, and timestamp values to a specific format using the format
function.
For this tutorial, we assume there's a table named Visitor
with columns id
, name
, visit_date
, visit_time
, and visit_timestamp
.
Formatting Date
The format
function can be used to change the format of a date.
let actual = table("Visitor")
.select()
.project("name")
.project("visit_date")
.project(col("visit_date").format(text("%Y-%m"))) // Formats the visit_date to the year-month format
.project(format(col("visit_date"), text("%m"))) // Formats the visit_date to the month format
.execute(glue)
.await;
Formatting Time
The format
function can also be used to change the format of a time.
let actual = table("Visitor")
.select()
.project("name")
.project("visit_time")
.project(col("visit_time").format(text("%H:%M:%S"))) // Formats the visit_time to the hour-minute-second format
.project(format(col("visit_time"), text("%M:%S"))) // Formats the visit_time to the minute-second format
.execute(glue)
.await;
Formatting Timestamp
The format
function can be used to change the format of a timestamp.
let actual = table("Visitor")
.select()
.project("name")
.project("visit_timestamp")
.project(col("visit_timestamp").format(text("%Y-%m-%d %H:%M:%S"))) // Formats the visit_timestamp to the year-month-date hour-minute-second format
.project(format(col("visit_timestamp"), text("%Y-%m-%d %H:%M:%S"))) // Formats the visit_timestamp to the year-month-date hour-minute-second format
.execute(glue)
.await;