如何更新此表以从字段中删除datepart?

时间:2016-07-19 16:41:13

标签: sql ms-access

有些用户意外填充了一个包含日期和时间值的表,而不仅仅是一个时间值。我已在Access窗体上进行了相应的验证更改,但现在我需要清理表。以下是一些示例值。如何编写更新查询以查找包含日期的行并仅删除日期部分?

ID    start_time
1     06:00:00 AM
2     12/29/1899 10:00:54 PM
3     12/29/1899 02:00:00 PM
4     02:00:00 PM

2 个答案:

答案 0 :(得分:1)

您无法删除字段的“日期”部分,因为没有字段只保留时间。 timevalue只是一个日期时间,其中日期保留在默认的最早值,然后被忽略。

如果你愿意,你可以在列上设置一个触发器并始终修正日期以使其成为1899,即使用户在INSERT或UPDATE期间设法填入不同的值。

答案 1 :(得分:0)

如果是文本字段:

UPDATE table SET start_time = SUBSTR(start_time, 12) WHERE LEN(start_time) > 11;

如果没有转换它,请运行查询,然后在数据库中重新转换它。