如何从SQL Server中选择日期部分

时间:2019-02-05 11:04:00

标签: sql sql-server

我在Postegre SQL中有此查询:

ele = element(by.id('value'));

自从我切换到SQL,就使用以下任一方法:

ele.getAttribute('baseURI');

或者这个:

SELECT * from myTable 
WHERE date(myTimeStampColumn) = '2019-01-01'

是否有更快/更简单的方法来选择sqlserver中datetime列的日期部分?

2 个答案:

答案 0 :(得分:0)

以下查询等同于您在PostgreSQL中编写的内容

SELECT * FROM MYTABLE WHERE CAST(myTimeStampColumn AS DATE)='2019-01-01'

如Dan Guzman所建议,以上查询是 non-SARGable ,因此将无法获得索引的好处。

为获得更好的性能,您可以编写如下的相同查询。

 SELECT * FROM MYTABLE WHERE
 myTimeStampColumn >= '2019-01-01' AND myTimeStampColumn < '2019-01-02'

答案 1 :(得分:0)

您可以按以下方式编写查询

select * from myTable where CONVERT(date, myDateTimeColumn) = '2019-01-01'