我想找出两个日期之间的分钟差。如果两个日期在同一个月(和同一年),我的代码运行良好,但似乎差异认为每个月有 31 天长,因此对于日期:
2016-02-29 12:21
2016-03-1 12:21
Run Code Online (Sandbox Code Playgroud)
我有 4320 分钟或 72 小时
为了:
2016-04-30 12:21
2016-05-01 12:21
Run Code Online (Sandbox Code Playgroud)
我有 2880 分钟或 48 小时
我的代码,其中 d1 和 d2 是日期对象:
long getDateDiff(Date d1, Date d2, TimeUnit timeUnit) {
long diff = d2.getTime() - d1.getTime(); //in millisec
long diffMinutes = TimeUnit.MILLISECONDS.toMinutes(diff);
return diffMinutes;
}
Run Code Online (Sandbox Code Playgroud) 我在 PostgreSQL 中有一个这样的查询:
select count(id_student) students, date_beginning_course from
data.sessions_courses
left join my_schema.students on id_session_course=id_sesion
where course_name='First course'
group by date_beginning_course
Run Code Online (Sandbox Code Playgroud)
我通过此查询获得的是在多个日期参加“第一门课程”课程的学生人数,例如:
Students Date_beginning_course
____________________________________
5 2019-06-26
1 2019-06-28
5 2019-06-30
6 2019-07-01
2 2019-07-02
Run Code Online (Sandbox Code Playgroud)
我想用缺失的日期值填充此表,并且对于每个缺失的值,在“学生”列中指定“0”,因为该日期没有学生。例子:
Students Date_beginning_course
____________________________________
5 2019-06-26
0 2019-06-27 <--new row
1 2019-06-28
0 2019-06-29 <--new row
5 2019-06-30
6 2019-07-01
2 2019-07-02
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗?谢谢!:)
我有一个包含事件范围的表,如下所示:
id | title | start | end
1 | Lorem | 2019-11-02 | 2019-11-03
2 | Ipsum | 2019-11-02 | 2019-11-02
3 | Dolor | 2019-11-08 | 2019-11-10
4 | Amet | 2019-11-02 | 2019-11-04
Run Code Online (Sandbox Code Playgroud)
我想选择所有行,但加入范围内的日期,这样我就可以为范围内每天的每个事件设置 X 行。结果应该来自我的示例表:
date | id | title | start | end
2019-11-02 | 1 | Lorem | 2019-11-02 | 2019-11-03
2019-11-02 | 2 | Ipsum | 2019-11-02 | 2019-11-02
2019-11-02 | 4 | Amet | 2019-11-02 | 2019-11-04
2019-11-03 | 1 | Lorem …Run Code Online (Sandbox Code Playgroud) 我有一个表,其中工作日存储为整数(0 到 6)。
我需要什么函数来创建与这些日期数字相关的日期名称?
例如:0 -> 周日,1->周一等
喜欢:
SELECT magic(my_day_number) FROM my_table;
Mon
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试使用以下查询将日期列映射到其星期几,其中星期一为 1,星期日为 7:
EXTRACT(DAYOFWEEK FROM dates) AS day_of_week
然而,根据 BQ 的文档,该函数似乎使用星期日作为一周的第一天。有没有办法优雅地解决这个问题,而不需要在我的查询中使用条件表达式并手动调整结果?
BQ 文档:
DAYOFWEEK: Returns values in the range [1,7] with Sunday as the first day of the week.
我有一个小表 ( TABLEA),其中有两列IDA& DATETIMEA。
塔贝拉
IDA DATETIMEA
1 2020-03-16 13:15:00
2 2020-03-17 15:25:00
3 2020-03-18 17:10:00
5 2020-03-19 11:44:00
5 2020-03-20 12:55:00
5 2020-03-21 19:35:00
7 2020-03-22 10:13:00
8 2020-03-22 15:25:00
8 2020-03-28 12:12:00
9 2020-03-29 17:55:00
10 2020-03-30 11:54:00
12 2020-03-30 15:35:00
12 2020-03-31 13:19:00
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取IDA每天的总计、过去 7 天的总计和过去 30 天的总计。
预期输出
DATE DAY L7 L30
2020-03-16 1 1 1
2020-03-17 1 2 2
2020-03-18 1 3 3
2020-03-19 1 4 4
2020-03-20 1 …Run Code Online (Sandbox Code Playgroud) 我有一个约会(2012年4月30日),一小时(4)和一分钟(45).我需要将其转换为Oracle datetime值,以便在PLSQL/Oracle SELECT语句中进行比较.理想情况下,会有这样的函数(C#,因为我知道它好一点):
var date = "4/30/2012";
var hour = "4";
var minute = "45";
DateTime myDateTime = convertDateTime(date, hour, minute);
Run Code Online (Sandbox Code Playgroud)
我有一个包含三列的表格来组成活动的日期和时间.我有另一个表,根据其开始和结束日期,可能会或可能不匹配的项目.在伪SQL中,这是我正在尝试做的事情:
SELECT
G.Name,
(SELECT MAX(Cost)
FROM CrappyTable AS C
WHERE G.StartTime < convertDateTime(C.Date, C.Hour, C.Minute)
AND G.EndTime > convertDateTime(C.Date, C.Hour, C.Minute)) as Cost
FROM GoodTable as G
WHERE G.Price < 100.00;
Run Code Online (Sandbox Code Playgroud)
或"选择价格低于100美元的名称和最高成本(从一段时间内报告的成本)."
是否存在可能执行上述convertDateTime功能的现有功能?
我有一张表,其中维护了PurchasedDate.我必须从系统中获取日期并计算日期差异.由于我在Oracle工作,datediff()没有给出结果.
样品表:
ProductID Date P101 31-DEC-2012 P102 29-DEC-2011
如果今天返回P102,差异应为10.
这是一个详细的描述
BillID ProductID Date 101 P101 31-DEC-2012 101 P102 31-DEC-2012 102 P405 29-JUN-2012 102 P210 29-JUN-2012 105 P205 2-MAY-2012
如果客户使用BillNo 101重新调用产品P101,则系统应计算返回日期(系统日期)与购买日期之间的差异.如果P101在2012年1月8日返回,则答案应为10
根据我的数据,我有个人在不同的日期多次进行评估.它看起来像这样:
??????????????????????????????????????????
? Person ? ID Number ? Date ? Score ?
? John ? 134 ? 7/11/2013 ? 18 ?
? John ? 134 ? 8/23/2013 ? 16 ?
? John ? 134 ? 9/30/2013 ? 16 ?
? Kate ? 887 ? 2/28/2013 ? 21 ?
? Kate ? 887 ? 3/16/2013 ? 19 ?
? Bill ? 990 ? 4/18/2013 ? 15 ?
? Ken ? 265 ? 2/12/2013 ? 23 ?
? Ken ? 265 ? …Run Code Online (Sandbox Code Playgroud) 给定 - 从一天开始的分钟数(数字oracle类型),例如480.需要获得标准的oracle时间,例如 - 08:00:00 AM.这样的操作有什么好的功能吗?