如何获取使用MSSQL GetDate()的日期? [英] How do I get just the date when using MSSQL GetDate()?

查看:917
本文介绍了如何获取使用MSSQL GetDate()的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 从表WHERE日期删除>> GETDATE(); 

GETDATE()包含时间。而不是获得

  2011-01-26 14:58:21.637 

如何获取:

  2011-01-26 00:00:00.000 


解决方案

/ p>



总结

  DATEADD ,DATEDIFF(day,0,GETDATE()),0)

SQL Server 2008有 date type。所以只需使用

  CAST(GETDATE()AS DATE)

编辑:添加一天,比较前一天零

  DATEADD(day,DATEDIFF(day,-1,GETDATE()),0)

从cyberkiwi:



一个不涉及2个功能的替代方案是(+1可以在我们的方括号中)。

  DATEDIFF(DAY,0,GETDATE()+1)

DateDiff 返回一个数字,但为了所有目的,这将作为一个日期,无论您打算使用此表达式,除非将其直接转换为VARCHAR,否则您将直接在GETDATE()中使用CONVERT方法,例如

  convert(varchar,GETDATE()+1,102) 


DELETE from Table WHERE Date > GETDATE();

GETDATE() includes time. Instead of getting

2011-01-26 14:58:21.637

How can I get:

2011-01-26 00:00:00.000

解决方案

Slight bias to SQL Server

Summary

DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)

SQL Server 2008 has date type though. So just use

CAST(GETDATE() AS DATE)

Edit: To add one day, compare to the day before "zero"

DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)

From cyberkiwi:

An alternative that does not involve 2 functions is (the +1 can be in or ourside the brackets).

DATEDIFF(DAY, 0, GETDATE() +1)

DateDiff returns a number but for all purposes this will work as a date wherever you intend to use this expression, except converting it to VARCHAR directly - in which case you would have used the CONVERT approach directly on GETDATE(), e.g.

convert(varchar, GETDATE() +1, 102)

这篇关于如何获取使用MSSQL GetDate()的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆