SQL使用今天的搜索日期

时间:2015-06-11 09:41:09

标签: sql sql-server

我在名为ACT的CRM程序中使用自定义报表设计器。我很难找到一种方法来使用今天的日期作为标准,而不是手动输入。

SELECT CONTACT.Product,
  CONTACT.Company,
  CONTACT.Contact,
  CONTACT.[Brochure Sent Tick],
  CONTACT.[Edit Date],
  CONTACT.[Create Date]
FROM CONTACT
WHERE CONTACT.[Brochure Sent Tick] = 'FALSE' AND CONTACT.[Create Date] = '11/06/2015'

是否有可以使用的方式功能?每次运行此查询时,它应该只查看其运行的日期而不是指定的日期。

2 个答案:

答案 0 :(得分:1)

GETDATE()将为您提供当前日期时间。将其投放到date以获取日期:

SELECT CONTACT.Product,
  CONTACT.Company,
  CONTACT.Contact,
  CONTACT.[Brochure Sent Tick],
  CONTACT.[Edit Date],
  CONTACT.[Create Date]
FROM CONTACT
WHERE CONTACT.[Brochure Sent Tick] = 'FALSE'
AND CONTACT.[Create Date] = CAST(GETDATE() as date)

答案 1 :(得分:0)

在Sql Server中,您可以使用GETDATE()CURRENT_TIMESTAMP返回当前系统DateTime。如果您只想要日期,可以投射它:

CAST(GETDATE() AS Date)

如果您有问题映射到您正在使用的日期格式dd/mm/yyyy,请尝试指定转换类型以正确格式化日期:

CONVERT(Date, GETDATE() , 103)

这将使用dd/mm/yyyy的英/法标准(103) 您甚至可能需要将其转换为varchar,如果这是您在[Create Date]中使用的内容:

CAST(CONVERT(Date, GETDATE() , 103) AS varchar(10))