dbeaver SQL Server 选择日期时间列

我尝试使用 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

我还没有尝试过其他陈述(之间,在)​​。但是有人已经面临过这个问题吗?

谢谢!

stack overflow dbeaver SQL Server select datetime column
原文答案

答案:

作者头像

我试图用 LIKE 语句查询 DATETIME 列。 @MJH 提醒我,此语句用于比较字符串。我一直在这样做,因为我曾经在 MySQL 上查询并且没有问题。谢谢@MJH!

在@MJH 建议的指导下进行了一些研究后,我已经厌倦了以下查询:

select date_field from mydb where cast(date_field as DATE) = '2018-01-01';

我得到了想要的结果!

我将询问 DBeaver 开发人员这是否是一个可能的错误。

非常感谢!