【发布时间】:2023-03-25 08:40:01
【问题描述】:
我对 SQL 的理解是这样的
WHEN reading_start_dt BETWEEN '2020-02-09' AND '2020-02-15'
与
相同WHEN reading_start_dt >= '2019-02-09' AND reading_start_dt <= '2019-02-15'
但是当查询中唯一的区别是日期范围规范时,我会得到完全不同的结果集。
正在返回正确的日期,但数据不同。
Teradata 和 HANA 都在发生这种情况。
我错过了什么吗?
编辑:
SELECT meter_id, reading_meas, reading_interval_start_dttm FROM "_SYS_BIC"."NGDW.SM.PVT/METER_READING"
WHERE Reading_Start_Dt BETWEEN '2020-02-09' AND '2020-02-15' AND Service_Channel_num = 1 AND Meter_id = 11870690
ORDER BY Reading_Interval_Start_Dttm
SELECT meter_id, reading_meas, reading_interval_start_dttm FROM "_SYS_BIC"."NGDW.SM.PVT/METER_READING"
WHERE reading_start_dt >= '2019-02-09' AND reading_start_dt <= '2019-02-15' AND service_channel_num = 1 AND meter_id = 11870690
ORDER BY Reading_Interval_Start_Dttm
指出这是我的代码中的拼写错误的结果
我正在将生产中的某些内容与请求的更改进行比较。
谢谢你的敏锐眼睛,周六我的眼睛显然太累了,看不到它。
【问题讨论】:
-
返回的是正确的日期,但数据不同。:你是什么意思?一个最小的可重现示例可能有助于演示您的问题。
-
请截图相关数据,并确保结果集是相同的,它是一个稳定的orderby(唯一)并且没有十亿行的结果;只需 10 个演示点就可以了
-
您的年份不同(第一个代码 sn-p 为 2020,第二个代码为 2019)。或者这只是一个错字?
-
这是一个错字
标签: sql teradata teradata-sql-assistant hana-sql-script hana-studio