【发布时间】:2023-04-05 11:51:01
【问题描述】:
我想在 mySQL 中使用 datediff 函数,但我的代码返回 Null,我认为这是因为我使用的列的格式为 MM/DD/YYYY。我怎么能过来这个。这是我的代码。
select p.`Brand.Name`, datediff( 'p.`Pdo.Date`', 'f.`EntryDate`') from packaging as p
join volumes as v using(batchNum)
join fermentation as f on v.`LineNum` = f.`QC.LineId`
group by `Brand.Name`;
【问题讨论】:
-
日期列的类型是什么?如果是 varchar,则应将其更改为 date
-
哦,我明白了。它是文本
-
并且没有格式化为 mdy 的列
-
@Strawberry 所以由于我的数据格式是 dd/mm/yyyy 我不能简单地将我的数据类型更改为日期,因为它必须在 yyyy-mm-dd 我现在使用了这个将其重新格式化为选择语句的代码: select DATE_FORMAT(STR_TO_DATE(
Date.Tested,'%d/%m/%Y'), '%Y-%m-%d') as DateFormat from airtest;但是您知道如何更改列并将值的格式更改为 yyyy-mm-dd? -
这里不需要 DATE_FORMAT();正确重新格式化日期后,您可以使用正确的数据类型重新定义列