我有两张 struct 完全相同的桌子:
date (date)
title (varchar 275)
这两个表都包含从2021-01-01到2021-12-31的日期行
如果我在表1上运行此查询:
SELECT DISTINCT date FROM table1 WHERE date IN ('2021-01-02', '2021-01-04')
它返回以下各项的期望值:
2021-01-02
2021-01-04
然而,如果我在表2上运行它,我只得到1个结果,这是该范围内的最早日期.例如,如果我运行相同的查询,我只得到2021-01-02.如果我将查询更改为:
SELECT DISTINCT date FROM table2 WHERE date IN ('2021-01-04', '2021-01-06')
我只看到2021-04-04.如果我把日期改为‘2021-01-06’和‘2021-01-07’,我只能得到2021-01-06,依此类推.
如果我在Table1上运行完全相同的查询,它将返回所有预期值.我假设这一定是表中的不同,但它们具有完全相同的字段、字段类型、数据库排序规则等.它的行为就像有一个限制1.
编辑@josh: 如果我删除DISTINCT并运行以下查询:
SELECT date FROM table2 WHERE date IN ('2021-01-04', '2021-01-06')
它返回正确的日期(重复):
2021-01-04
2021-01-04
2021-01-04
...
2021-01-06
2021-01-06
将不同的后面添加到结果中(仅适用于表2):
2021-01-04