通常当NULL涉及任何等式时,整个结果都会解析为NULL(例如,SELECT 2 + NULL + 5返回NULL)
同样适用于以下情况:
SELECT SUM(NULL)回报NULL.Proposition #1
SUM用于聚合列时会发生什么,列也可以包含NULL值?
基于proposition #1输出不导致的原因NULL.
CREATE TABLE t (age INT NULL);
INSERT INTO t (age) VALUES (15),(20), (NULL), (30), (35);
SELECT
SUM(age)
FROM t;
Run Code Online (Sandbox Code Playgroud)
输出: 100
但我在期待NULL.
在这种情况下,MySQL是否会以静默方式跳过这些NULL值?
我知道如何得到相反的结果。给定一个时区,我可以通过以下代码片段获取时区偏移量:
TimeZone tz = TimeZone.getDefault();
System.out.println(tz.getOffset(System.currentTimeMillis()));
Run Code Online (Sandbox Code Playgroud)
我想知道如何从时区偏移量获取时区名称。
鉴于,
timezone offset = 21600000(以毫秒为单位;+6.00 偏移量)
我想获得以下任何可能的时区名称的结果:
(GMT+6:00) Antarctica/Vostok
(GMT+6:00) Asia/Almaty
(GMT+6:00) Asia/Bishkek
(GMT+6:00) Asia/Dacca
(GMT+6:00) Asia/Dhaka
(GMT+6:00) Asia/Qyzylorda
(GMT+6:00) Asia/Thimbu
(GMT+6:00) Asia/Thimphu
(GMT+6:00) Asia/Yekaterinburg
(GMT+6:00) BST
(GMT+6:00) Etc/GMT-6
(GMT+6:00) Indian/Chagos
Run Code Online (Sandbox Code Playgroud) @previousEndTime无法弄清楚变量只有值的原因YEAR。
我的 test_table 上的示例数据:
| id | name | start | end |
|----|--------|---------------------------|---------------------------|
| 2 | test 1 | January, 01 2016 12:00:00 | January, 01 2016 13:00:00 |
| 3 | test 1 | January, 02 2016 11:00:00 | January, 02 2016 12:00:00 |
| 5 | test 1 | January, 03 2016 15:00:00 | January, 03 2016 16:00:00 |
| 6 | test 2 | January, 01 2016 10:00:00 | January, 01 2016 11:00:00 …Run Code Online (Sandbox Code Playgroud)