【问题标题】:Converting date time value to 10 character date on sql在sql上将日期时间值转换为10个字符的日期
【发布时间】:2023-03-28 02:20:01
【问题描述】:
我正在尝试使用以下代码将表中的“日期时间”值转换为 10 个字符。目前,date_time 值的格式为“2020:09:08 10:00:00”,但我想去掉值的时间部分,这样我就只剩下日期了。我正在使用 DB Browser for SQLite,我认为我必须使用 varchar 数据类型来完成此任务,但它不起作用。代码的输出也如下所示。
从股票中选择 CAST(date_time AS VARCHAR(10));
【问题讨论】:
标签:
sql
string
sqlite
datetime
【解决方案1】:
我只会使用字符串函数:
substr(date_time, 1, 10)
【解决方案2】:
您的日期时间值不是 SQLite 的有效日期时间,它只识别格式 'YYYY-MM-DD hh:mm:ss'。
如果您使用上述格式,那么您只需要函数DATE():
SELECT DATE(date_time)
FROM stocks;
对于您当前的格式,您必须使用字符串函数提取前 10 个字符,然后将所有 : 替换为 -:
SELECT REPLACE(SUBSTR(date_time, 1, 10), ':', '-')
FROM stocks;