【问题标题】: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; 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-12
        • 2013-08-16
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 2021-01-05
        相关资源
        最近更新 更多