我怎样才能从一个数据库,其中创建日期的记录是今天的日期?
SELECT [Title], [Firstname], [Surname], [Company_name], [Interest]
FROM [dbo].[EXTRANET_users]
WHERE DATE(Submission_date) = DATE(NOW())
这不使用SQL Server 2000中的IM和提交日期是日期时间字段
我怎样才能从一个数据库,其中创建日期的记录是今天的日期?
SELECT [Title], [Firstname], [Surname], [Company_name], [Interest]
FROM [dbo].[EXTRANET_users]
WHERE DATE(Submission_date) = DATE(NOW())
这不使用SQL Server 2000中的IM和提交日期是日期时间字段
看起来你使用SQL Server,在这种情况下, GETDATE()
或current_timestamp
可以帮助你。 但你必须确保与您比较系统的日期格式的日期匹配(时区,粒度等)
如
where convert(varchar(10), submission_date, 102)
= convert(varchar(10), getdate(), 102)
你可以试试这个?
SELECT [Title], [Firstname], [Surname], [Company_name], [Interest]
FROM [dbo].[EXTRANET_users]
WHERE CAST(Submission_date AS DATE) = CAST(GETDATE() AS DATE)
T-SQL并没有真正有“暗示”铸像C#那样-你需要明确使用CAST
(或CONVERT
)。
此外,使用GETDATE()
或CURRENT_TIMESTAMP
得到“现在”的日期和时间。
更新:因为你的工作对SQL Server 2000 -没有这些方法至今的工作。 试试这个:
SELECT [Title], [Firstname], [Surname], [Company_name], [Interest]
FROM [dbo].[EXTRANET_users]
WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, submission_date)) = DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
有可能是另一种方式,但这应该工作:
SELECT [Title], [Firstname], [Surname], [Company_name], [Interest]
FROM [dbo].[EXTRANET]
WHERE day(Submission_date)=day(now) and
month(Submission_date)=month(now)
and year(Submission_date)=year(now)
简单的办法是使用这样的条件()使用所需的日期> GETDATE( - 1)
SQL语句 “具体日期”> GETDATE() - 1