在sql上将日期时间值转换为10个字符的日期

在sql上将日期时间值转换为10个字符的日期,sql,string,sqlite,datetime,Sql,String,Sqlite,Datetime,我正在尝试使用下面的代码将表中的“date\u time”值转换为10个字符。目前,日期时间值的格式为“2020:09:08 10:00:00”,但我想去掉值的时间部分,这样我就只剩下日期了。我正在使用DB Browser for SQLite,我想我必须使用varchar数据类型来完成这项任务,但它不起作用。代码的输出也显示在下面 从库存中选择CAST(日期\时间为VARCHAR(10)) 我只会使用字符串函数: substr(date_time, 1, 10) 您的日期时间值不是SQLit

我正在尝试使用下面的代码将表中的“date\u time”值转换为10个字符。目前,日期时间值的格式为“2020:09:08 10:00:00”,但我想去掉值的时间部分,这样我就只剩下日期了。我正在使用DB Browser for SQLite,我想我必须使用varchar数据类型来完成这项任务,但它不起作用。代码的输出也显示在下面

从库存中选择CAST(日期\时间为VARCHAR(10))


我只会使用字符串函数:

substr(date_time, 1, 10)

您的日期时间值不是SQLite的有效日期时间,SQLite只能识别格式
'YYYY-MM-DD hh:MM:ss'

如果使用上述格式,则只需函数
DATE()

对于当前格式,必须使用字符串函数提取前10个字符,然后将所有
替换为
-

SELECT REPLACE(SUBSTR(date_time, 1, 10), ':', '-') 
FROM stocks; 
SELECT REPLACE(SUBSTR(date_time, 1, 10), ':', '-') 
FROM stocks;