当前位置: 首页 > 面试题库 >

如何在不输入时间的情况下从两个相同的日期读取

聂季同
2023-03-14
问题内容

我有一个类似下面的查询。

SELECT
occupation AS 'Contact occupation',
sum(total) AS 'Quantity'
FROM
(
SELECT
CASE
WHEN contacts.occupation IS NULL THEN 'Other'
WHEN trim(contacts.occupation) = '' THEN 'Other'
ELSE contacts.occupation
END AS occupation, count(DISTINCT(concat(patients.id, '-', individual_appointments.practitioner_id))) AS total
FROM
individual_appointments
JOIN patients ON
patients.id = individual_appointments.patient_id
JOIN practitioners ON
practitioners.id = individual_appointments.practitioner_id
JOIN businesses ON
businesses.id = individual_appointments.business_id
JOIN referral_sources ON
referral_sources.patient_id = individual_appointments.patient_id
JOIN referral_source_types ON
referral_source_types.id = referral_sources.referral_source_type_id
LEFT JOIN contacts ON
referral_sources.referring_contact_id = contacts.id
WHERE
patients.created_at BETWEEN '2018-05-22' AND '2018-05-22'
AND CONVERT(NVARCHAR(100), referral_source_types.name) = 'Contact' [[
AND {{practitioner}}]] [[
AND {{clinic}}]]
AND isnull(individual_appointments.cancelled_at, '') = ''
AND individual_appointments.did_not_arrive <> 1
GROUP BY
contacts.occupation ) marketing_referrers
GROUP BY
occupation,
marketing_referrers.total
ORDER BY
total DESC;

当我提交如下所示的日期时,patients.created_at BETWEEN '2018-05-22' AND '2018-05-22'它不返回任何内容,但是如果输入,BETWEEN '2018-05-22' patients.created_at 'AND' 2018-05-23'则返回一个值。

我想如果我只输入两个相同的日期而不输入时间,那么时间将会是00:00:00 - 00:00:00

00:00:00 - 23:59:59当我们输入两个相同的日期而不输入时间时,如何阅读?

表格中的日期格式按以下方式填充,"Thursday, August 20, 2020, 9:49 AM"但是,例如,如果我们仅输入日期,则可以读取该日期格式2020-08-20

您的帮助对我很重要,谢谢


问题答案:

如果您的数据类型是,datetime则可以添加:

WHERE patients.createdAt >= '2018-05-22' and patients.createdAt < '2018-05-23'

因为2018-05-22=2018-05-22 00:00:00

如果您只想输入一个日期,那么您可以使用此日期

 WHERE patients.createdAt >= '2018-05-22 00:00:00'
       AND patients.createdAt <= '2018-05-22 23:59:59'

或者你可以简单地使用这个

 WHERE patients.createdAt LIKE '2018-05-22%'

它将为您提供所有具有值‘2018-05-22’的行



 类似资料:
  • 我试图让发送消息给另一方的用户和接收消息的用户在每行的一行中。 那么oracle sql查询应该是什么呢

  • 我有两个不同的方法,在两个不同的类中。我希望他们都能阅读同一行输入,并检查不同的内容。一个查找“给我冲杯咖啡”之类的说明,另一个查找不同的关键字,如“请”和“谢谢”(这些影响程序对我的反应): 然后我在我的主字符串中调用它们,只是为了测试它们: 我的控制台显示如下: 我知道发生了什么,但我想不出其他办法。我也尝试过使用同一个扫描仪,不同的字符串,但仍然不起作用。我怎样才能使这两种方法都能读取我的第

  • 我有一个棘手的问题要解决。我使用系统。方法调用之前和之后的currentTimeMillis(),因为我必须测量这两条语句之间经过的时间。 我担心的是每次运行程序都会得到不同的结果。 我明白了(这很完美): 几秒钟后,我再次运行程序,我得到(这是错误的): 我说这个输出是错误的,因为每辆车的等待时间不应该少于100毫秒。 什么实际影响基于currentTimeMillis函数的时间计算? 为什么我

  • 2.2.显示日历后,程序必须询问用户是否要输入另一个日期(是否继续?) 2.3.用户必须用大小写字母的任意组合回答是、否、y或n 2.4.如果给出了无效的答案,则必须通知用户该答案不可接受,然后再次提示用户输入另一个答案。如果给出了三个以上连续的错误答案,程序必须以适当的错误消息终止 这是我目前所拥有的 如果年份是错误的,它会打印无效年份,但现在m坚持如何在结束程序之前再次询问3个领带/如果用户在

  • 问题内容: 我想向服务器发送命令,并确定是否得到响应。 现在,我正在使用的函数,该函数会阻塞直到服务器发出响应,但我要做的就是首先确认服务器是否响应。 我尝试使用或避免此阻止,但这无济于事。 这导致我的程序陷入等待服务器响应的困境,这种情况永远不会发生。根据我对事物的理解,似乎做同样的事情。 我在此处找到的关于该主题的其他问题没有回答我的问题,所以请您回答我的问题会很好。 问题答案: 可能您所需要

  • 问题内容: 我正在使用以下sql语句对来自两个不同表的两个列中的值求和。该语句可以输出,但不能输出所需的结果。 我的桌子在这里: -- -转储表数据 -- -表格的表格结构 -- -转储表数据 问题答案: 这应该做到这一点: