我尝试使用 dbeaver 查询 SQL Server,但我不知道出了什么问题。我的系统是 Ubuntu 17 64 位和 dbeaver 4.1.2。
我可以连接到数据库,浏览表,并且我所做的大多数查询都是成功的。
但是当我尝试查询日期时间列时,我得到了这些:
使用 >=
:
select date_field from mydb where date_field >= '2018-01-01'; => ok, shows results
select date_field from mydb where date_field >= '2018-01'; => Ok, shows results
select date_field from mydb where date_field >= '2018'; => Ok, shows results
使用 =
:
select date_field from mydb where date_field = '2018-01-01'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field = '2018-01-01 00:00:00'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field = '2018-01-01 any:time:sec'; => query runs w/o errors, but shows nothing, even I copy and paste full date from '>=' query
使用 LIKE
:
select date_field from mydb where date_field like '2018-01-01%'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field like '%2018-01-01%'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field like '2018-01%'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field like '%2018-01%'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field like '2018%'; => query runs w/o errors, but shows nothing
select date_field from mydb where date_field like '%2018%'; => OK, shows results
我还没有尝试过其他陈述(之间,在)。但是有人已经面临过这个问题吗?
谢谢!
我试图用 LIKE 语句查询 DATETIME 列。 @MJH 提醒我,此语句用于比较字符串。我一直在这样做,因为我曾经在 MySQL 上查询并且没有问题。谢谢@MJH!
在@MJH 建议的指导下进行了一些研究后,我已经厌倦了以下查询:
我得到了想要的结果!
我将询问 DBeaver 开发人员这是否是一个可能的错误。
非常感谢!