如何防止将无效日期插入到SQLite表中?

图兰斯·科尔多瓦(TulainsCórdova)

SQLite表不能具有日期或时间戳类型的列。日期存储为文本或数字。

情况是这样的:

  • 如何防止将无效日期(如2月31日)插入表中?

我知道您可以在插入之前在应用程序中验证日期,但这不是我想要的,因为这不会阻止使用SQLite提示符或某些SQLite GUI工具输入无效的日期。

CL。

内置日期函数无法解释其日期参数时,它们将返回NULL,因此您可以添加一项检查,以确保不会发生这种情况:

CREATE TABLE MyLittleTable (
    MyDate CHECK (date(MyDate) IS NOT NULL)
);

但是,这些功能没有做太多检查:

> SELECT date('2014-02-31');
2014-02-31

要标准化日期,您必须对其进行一些计算:

> SELECT date('2014-02-31', '+0 days');
2014-03-03

因此,您可以检查此规范化是否不会更改该值:

CREATE TABLE MyLittleTable (
    MyDate CHECK (date(MyDate,'+0 days') IS MyDate)
);

IS需要使用它来正确处理NULL。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将日期值插入到 PostgreSQL 表中?

将日期插入SQLite表

如何在SQLite表中插入日期和查询日期

如何将某些表的创建日期插入到新表中?

如何使用 Python 将日期时间插入到 sqlite3 数据库中?

无法将日期数据插入到Oracle表中

将字典作为行插入到 sqlite 表中

将字典作为行插入到 sqlite 表中

如何将自己的图像插入到 SQLite 表中?

如何自动将日期插入到datagridview中?

如何将登录日期和时间插入到mysql的另一个表中

将 SP 中的有效记录插入到有效表中,将无效记录插入到无效 SP 中

如何使用bean将值插入sqlite数据库并将这些表值检索到json数组中

如何将json对象插入到mysql表中

如何将数据插入到Hive(0.13.1)表中?

如何将php变量插入到Oracle表中?

如何将xml数据插入到表中?

如何将 \timing 值插入到表中?

我想防止将特定值插入到ulog2_ct表中

如何仅将一个值作为变量插入到sqlite3表中,同时将null插入其他所有列

SQLite:如何使用SELECT在一个表中的列中检索数据,以将检索到的数据插入另一表中

将日期插入到DataFrame的行中

如何正确防止尝试将数据插入到无法访问的外部表的插入触发器之后的延迟

将数据框中的日期列插入到 Oracle 表中

如何通过Java在SQLite中插入日期

将数据插入到另一个表时如何自动将数据插入到MySQL表中?

Momentjs:如何防止“无效日期”?

如何使用 sheet api v4 将当前日期时间插入到谷歌工作表中,尊重工作表的时区?

如何将变量插入到数据库表 sqlite3 - Python