仅将SQLite属性的输入控制为日期格式。

时间:2012-03-20 11:39:44

标签: sqlite constraints date

我一直在阅读有关将TEXT字段转换为日期格式以及使用Python创建日期对象的方法的所有内容,但我的问题仍然存在。

我的表有一个指定为TEXT的dateTime列,我想构建一个强制输入为dateTime格式的约束,但是因为SQLite不做日期(我想要的)我没有工作如何做到这一点。

我目前的想法:1。限制字符数 2.为日,月和年设置单独的属性并约束其域 3.在数据库端执行此操作是愚蠢的,只需在用户界面中执行此操作

非常感谢您对这些或其他选择的意见。 谢谢:))

1 个答案:

答案 0 :(得分:4)

我一直在尝试解决同样的问题,我想出的方法是使用日期/时间函数来解析值并检查它是否没有改变。基本上如下:

CREATE TABLE dts_test (
    dts     TEXT CHECK (dts IS datetime(dts))
);

如果默认格式不是您想要的,您可以使用strftime或类似格式设计您想要的任何格式,但它必须是built-in date and time functions可以解析的内容。