我有两个字段,startDate和endDate,它位于varchar中。我必须将它们转换为日期,然后我必须区别它们。
当我查询转换日期时,它可以正常工作。
查询是:
select str_to_date(NewCrgs.PollDefination.endDate, '%d/%m/%Y') as
endd, str_to_date(NewCrgs.PollDefination.startDate, '%d/%m/%Y') as
startt FROM NewCrgs.PollDefination;
但是当我想要获得日期差异时,它什么都没有显示出来。为什么呢?
查询是:
SELECT DATEDIFF((str_to_date(NewCrgs.PollDefination.endDate,
'%d/%m/%Y')),(str_to_date(NewCrgs.PollDefination.startDate,
'%d/%m/%Y')));
答案 0 :(得分:1)
使用以下代码:
SELECT
DATEDIFF (
NewCrgs.PollDefination.endDate,
NewCrgs.PollDefination.startDate
) AS datedifference
FROM
NewCrgs.PollDefination;
注意最后的“AS”。
PS。我要注意你是否需要将varchars转换为日期。 This example也使用字符串。
答案 1 :(得分:1)
我必须以这种方式修改它。
SELECT
DATEDIFF (
str_to_date(NewCrgs.PollDefination.endDate, '%d/%m/%Y'),
str_to_date(NewCrgs.PollDefination.startDate, '%d/%m/%Y')
) AS datedifference
FROM
NewCrgs.PollDefination;