在microsoft数据库中输入数据时,如何获取SQL中的当前日期?
我正在使用Microsoft SQL Server和SQL Server Management Studio 我有一个名为在microsoft数据库中输入数据时,如何获取SQL中的当前日期?,sql,sql-server-2008,select,Sql,Sql Server 2008,Select,我正在使用Microsoft SQL Server和SQL Server Management Studio 我有一个名为dateapplicated的列,它有如下约束: [dateApplied] >= getDate() 当我输入一行时,日期会自动添加到该行中 我的问题是,当我使用SELECT函数时,dateApplied列会自动更改为调用SELECT语句的当前日期和时间 如何防止这种情况发生 谢谢 Peter我想您使用的是计算列,如: create table t1 (
dateapplicated
的列,它有如下约束:
[dateApplied] >= getDate()
当我输入一行时,日期会自动添加到该行中
我的问题是,当我使用SELECT
函数时,dateApplied
列会自动更改为调用SELECT
语句的当前日期和时间
如何防止这种情况发生
谢谢
Peter我想您使用的是计算列,如:
create table t1
(
id int
, date_col as getdate()
)
请尝试使用默认约束:
create table t1
(
id int
, date_col datetime constraint DF_T1_DateCol default getdate() not null
)
无论何时运行查询,都会计算计算列。只有在第一次插入行时才会生成默认约束。您可以发布表结构吗?
dateApplied
的值不应在SELECT
上更改使用触发器而不是getDate约束这是什么类型的约束?默认约束?检查约束??我认为这是检查约束,我认为这可能是问题所在,因为我使用的是SQL server,我使用的是用户界面来构建表,而不是查询代码本身。是否有一种方法可以使用GUI更改表并添加该约束?在SSMS中,您可以使用默认值
属性来创建默认约束。计算列在计算列规范下
。我刚才试过了,你发布了它。这就解决了问题!