【发布时间】:2013-01-04 02:07:54
【问题描述】:
我已经阅读了这一点,但仍然无法理解。希望这里有人可以向我解释。我有一个查询,它为我的列分配了一个仅当前日期的值。但是我想知道如果我的查询是这样的,是否应该将新列创建为DATETIME 或SMALLDATETIME:
Insert into table(col A)
Select DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0) As ColA
from table B
我想我的选择语句已经给了我没有时间的日期值。我对在我的数据库表中创建 Col A 表示怀疑。我正在使用 Sql 2005。
更新:
所以我的 qns 是如何在我的 db 表中创建我的 A 列?我需要添加约束吗?首选哪种数据类型?
【问题讨论】:
-
您需要提出一个具体而明确的问题。这是问答论坛,不是讨论论坛。
-
很抱歉,如果我不够具体,我会更新。谢谢指出
-
我添加了一个 CHECK 约束 (DATEADD(DAY,DATEDIFF(DAY,0,CREATION_D),0)=CREATION_D) 但不起作用,我做错了什么?
-
回复:您在 cmets 中的检查约束,“不起作用”不是有用的诊断。什么方式没有工作?尝试应用时出错?带有时间分量的允许值?您希望被允许的不允许值?还有什么? - 如果是这样,请告诉我们您期望它会做什么。如果是某种错误,请编辑您的问题并包含完整的脚本而不是片段。
标签: sql sql-server sql-server-2005 date datetime-format