Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql查询中获取生日(条件是如果您的生日是今天,则意味着在两天之前就知道它)?_Mysql - Fatal编程技术网

如何在mysql查询中获取生日(条件是如果您的生日是今天,则意味着在两天之前就知道它)?

如何在mysql查询中获取生日(条件是如果您的生日是今天,则意味着在两天之前就知道它)?,mysql,Mysql,在上面的查询中,我试图获取CURDATE生日人的用户名&DOB,但实际上我需要的是,如果这个人今天有生日,我不想在两天前知道。我站在这里,所以,请帮帮我 像这样试试看 SELECT username, dob FROM userdetails WHERE (MONTH(dob), DAY(dob)) = (MONTH(CURDATE()),DAY(CURDATE())) 从userdetails中选择用户名、dob,其中天(dob)=天(添加日期(CURDATE(),间隔2天))和月(d

在上面的查询中,我试图获取CURDATE生日人的用户名&DOB,但实际上我需要的是,如果这个人今天有生日,我不想在两天前知道。我站在这里,所以,请帮帮我

像这样试试看

SELECT username, dob FROM userdetails 
WHERE  
(MONTH(dob), DAY(dob)) = (MONTH(CURDATE()),DAY(CURDATE()))

从userdetails中选择用户名、dob,其中天(dob)=天(添加日期(CURDATE(),间隔2天))和月(dob)=月(添加日期(CURDATE(),间隔2天))

从用户登录详细信息中选择* 哪里
日(dob)=日(现在()+间隔2天)和月(dob)=月(现在())

Adarsh,当数据库dob等于当前数据时执行查询。例如,如果我的数据库中有三个dob记录,如15-10-1992、15-10-19988和15-10-2015。如果我应用你的查询,它将只返回2015年10月15日bcoz,但无论如何,我对你的回答感到高兴。@Ashok,这是一个愚蠢的行为,请查看正确的版本使用如下所示从用户登录详细信息中选择*天(dob)=天(现在()+间隔2天)和月(dob)=月(现在()+间隔2天);因为当你找到从现在开始的日期和月份时,你需要在这两个地方加上2天()如果出生日期是1980-10-01,如果你在2015-10-29进行计算,你将得到日期为29,月份为9,这是错误的。因此,您还需要在NOW()的基础上为月份添加2天。所以你会得到月=10天=01天的29,好吧,但是你怎么说月是9。。在我给定的条件下,日(dob)=日(现在()+间隔2天)和月(dob)=月(现在())。。我比较db dob day=当前日期+间隔2天和db dob month=当前月份。。
SELECT username, dob FROM userdetails WHERE
STR_TO_DATE( CONCAT(YEAR(CURDATE()), '-', MONTH(dob), '-', DAY(dob) ), '%Y-%m-%d' ) = DATE_ADD(CURDATE(), INTERVAL 2 DAY)