Tul*_*ova 2 database sqlite validation datetime
SQLite 表不能有日期或时间戳类型的列。日期以文本或数字形式存储。
原来如此:
我知道您可以在插入之前验证应用程序中的日期,但这不是我想要的,因为这不会阻止使用 SQLite 提示或使用某些 SQLite GUI 工具输入无效日期。
当内置日期函数无法解释其日期参数时,它们会返回 NULL,因此您可以添加一个检查以确保不会发生这种情况:
CREATE TABLE MyLittleTable (
MyDate CHECK (date(MyDate) IS NOT NULL)
);
Run Code Online (Sandbox Code Playgroud)
然而,这些函数不做太多检查:
> SELECT date('2014-02-31');
2014-02-31
Run Code Online (Sandbox Code Playgroud)
要标准化日期,您必须对其进行一些计算:
> SELECT date('2014-02-31', '+0 days');
2014-03-03
Run Code Online (Sandbox Code Playgroud)
因此您可以检查此标准化不会更改值:
CREATE TABLE MyLittleTable (
MyDate CHECK (date(MyDate,'+0 days') IS MyDate)
);
Run Code Online (Sandbox Code Playgroud)
(IS需要正确处理 NULL。)
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |