【问题标题】:Get the number of days between two dates获取两个日期之间的天数
【发布时间】:2020-10-06 03:57:51
【问题描述】:

我正在研究 JupyterLab(SQL),我想获取两列之间的天数差异。

列的值采用 YYYYMMDD 格式,但它们不是整数

如何将列转换为日期,然后得到天的差异。

【问题讨论】:

  • 您能分享一下您到目前为止所尝试的内容以及一些示例以帮助我们更好地理解它吗? herehere

标签: sql date jupyter-lab days


【解决方案1】:

我不太确定 JupyterLab,但在 SQL Server 中,您可以使用 DATEDIFF() 来计算它。例如:

SELECT DATEDIFF(day, '2017/08/25', '2011/08/25') AS DateDiff;

另见:

https://www.w3schools.com/sql/func_sqlserver_datediff.asp

【讨论】:

    【解决方案2】:

    您没有提到 dbms,所以我正在回答 oracle 和 postgres。您可以使用上述答案,但我喜欢在计算差异之前明确转换它们。 所以这里是为了 甲骨文 -
    TO_DATE('20170103','YYYYMMDD') - TO_DATE('20200103','YYYYMMDD')
    postgres
    EXTRACT(DAY FROM TO_TIMESTAMP('20160101', 'YYYYMMDD')-TO_TIMESTAMP('20150301', 'YYYYMMDD')

    【讨论】:

      【解决方案3】:

      JupyterLab(SQL) 支持 SQLite、PostgreSQL 和 MySQL 数据库:

      MySQL:

      SELECT DATEDIFF("20201005", "20201001");
      

      PostgreSQL:

      SELECT DATE_PART('day', AGE('20201005', '20201001'));
      

      【讨论】:

      • 您不必格式化列值。也就是说,您继续使用YYYYMMDD 格式!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      相关资源
      最近更新 更多