mysql - SQL 日期相差天数

标签 mysql sql

我尝试获取问题日期今天的日期之间的天数结果。我的 SQL 为我提供了格式 dd.mm.YYYY as int[11] ,我将其转换为 varchar [11] ,因为第一种格式在导出到 csv 时给出了从零开始的时间或 xls。

所以,我的问题是如何将 int/varchar 更改为日期格式以计算该日期与今天之间的差异。今天的日期采用日期时间格式。

下面用于转换

CONVERT (VARCHAR(11),DATEADD(day,issue_date,'1971/12/31'),106) AS IssueDate

格式为dd mm YYYY

我使用CONVERT(VARCHAR(11), GETDATE(), 106) 获得相同的格式,但我不知道如何更改为日期格式。

注意:我无法在我的工作环境中创建任何变量。

最佳答案

你的问题完全没有意义。您应该使用 native 格式存储日期/时间,而不是字符串。不是数字。时期。这是存储日期/时间值的正确方法。然后,您可以在适当的类型上使用日期/时间函数(例如 datediff())。

当您这样做时,您可以使用datediff(day, issues_date, getdate())

如果由于某种原因您的日期格式为 DD.MM.YYYY,则可以使用 convert(date, ddmmyy, 104)。支持的类型位于 documentation .

关于mysql - SQL 日期相差天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271047/

相关文章:

mysql - 如何查询这是MySQL?

mysql - 通过重复记录选择多于记录数的记录

mysql - 需要索引 MySQL 键吗?

mysql - 西门子 WinCC VBscript 转 Mysql

php - 如何在 Codeigniter 中编写类别/子类别数据库查询(一层深)?

mysql - 将 SQL 的结果截断为整数值

mysql - 优化查询以不使用文件排序

mysql - Workbench 中的 Mysql 历史来自哪里?

mysql - Docker + Mysql 连接错误 : Unknown MySQL server host 'db'

sql - 我可以授予存储过程 SET IDENTITY_INSERT 权限吗?