【发布时间】:2012-05-10 08:27:47
【问题描述】:
我在一个表中有 6 列日期时间类型。我的应用程序要求每一列都应该有额外的第一列用于验证,如果用户想要修改它,它可以是位数据类型和另一个修改的日期时间。所以我的问题是,有什么比为我拥有的每一列添加 2 列更好的方法吗?我也知道可以用来节省表空间的稀疏列,但我还有什么更好的办法吗??
“位”逻辑
所以有3列
- 原始日期时间,
- 修改日期时间和
- 验证位。
验证位默认设置为假。当用户想要更改日期时间时,修改的日期时间列将更新为新值;但是,原始日期时间列不会发生变化。现在用户必须决定输入的值是否经过验证。验证位将决定此功能。
【问题讨论】:
-
如果您解释验证位背后的逻辑会有所帮助...
-
@jsobo :所以有 3 列 1. 原始日期时间,2. 修改日期时间和 3. 验证位。验证位默认设置为 false。当用户想要更改日期时间时,修改后的日期时间列将更新为新值,但原始日期时间列不会发生变化。现在用户必须决定输入的值是否经过验证。验证位将决定此功能。希望这会有所帮助。
-
在什么情况下用户会输入一个日期然后确定它是无效的?我得到了稀疏的列,这似乎是一个很好的用途。我只是没有得到这个验证位。
-
@Blam :会有一个包含原始日期、修改日期和修改日期有效的网络表单。用户看到原始日期,然后决定是否要更改日期。如果他决定更改,则将新日期存储在表单和表格中的修改日期列中。然后用户需要根据业务规则来决定这个修改日期是否有效。如果修改日期有效,那么他将选择 true 选项,该选项会将验证位设置为 true,否则保持原样。希望这会有所帮助。
-
那我就把语句改成验证位代表状态。
标签: sql-server-2008 tsql