首页 > 解决方案 > 在 VBA 中创建 SQL 视图

问题描述

我正在尝试petients在我的数据库中调用的表上创建一个视图。该表有五列。其中之一是我想保留患者入院日期的列。它的数据类型是日期时间,所以我想创建一个查询来过滤此表中的数据current date。例如,我想创建一个视图,仅显示当天记录的孩子的详细信息。

这是我的代码:

CREATE VIEW [dbo].[recent petients]
AS 
    SELECT petient_id, name, age, contact 
    FROM [petients] 
    WHERE [date] = 'date.Today'

我收到一条错误消息,提示无法将日期转换为字符串。你能帮我解决它吗,或者我的代码哪里错了?

标签: sql-servervbasql-view

解决方案


您的代码看起来像 SQL Server 代码。如果是这样,我会建议:

SELECT petient_id, name, age, contact
FROM [patients] 
WHERE [date] = CONVERT(date, GETDATE());

注意:这个版本比它好得多,DATEDIFF()因为它允许在patient([date]).

如果“日期”列有时间组件,您可以使用:

WHERE CONVERT(date, [date]) = CONVERT(date, GETDATE())

请注意,这在 SQL Server 中也是索引安全的。


推荐阅读