gpt4 book ai didi

sql - 如何在 SQLite 中将 int(UNIX 时间戳)转换为日期时间?

转载 作者:行者123 更新时间:2023-12-05 06:11:14 39 4
gpt4 key购买 nike

我必须在 SQL 中创建一个表(我使用的是 IntelliJ 和 Java),并且该表必须遵守以下限制。

该表将包含以下列:

  • title - 需要能够存储字母、数字和特殊字符
  • news_description - 需要能够存储时事通讯的文本
  • publication_date - 需要能够存储一个整数(在 UNIX 系统中)

除此之外,我们还有以下限制:

  • 只有当表不存在时才会创建表

  • 主键就是标题

  • 2 个简报不能有相同的描述

  • news_description不能为空

  • 如果未指定发布日期,我需要使用 UTC 将其设置为 2019 年 4 月 27 日 21:11:12,并且日期必须采用 UNIX 格式

      CREATE TABLE IF NOT EXISTS posts (
    title VARCHAR,
    news_description TEXT UNIQUE NOT NULL,
    publication_date "I don't know what I should write here in order to respect the last restriction"
    PRIMARY KEY(title)
    );

所以我的问题是在创建表时如何遵守我上面所说的所有限制

注意:这是我的作业,除了那里的表格我不能添加任何东西,所以我需要遵守表格创建中的所有限制。

最佳答案

publication_date 的数据类型必须是 INTEGER 并且该列的默认值必须是 1556399472 这是 的等效时间戳>2019 年 4 月 27 日 21:11:12
在 SQLite 中将日期存储为整数没有问题,因为使用带有 Date And Time Functions of SQLite'unixepoch' 修饰符很容易检索可读日期。 .
例如:

SELECT DATETIME(1556399472, 'unixepoch')

返回:

2019-04-27 21:11:12

SQLite 中也没有数据类型VARCHAR。您应该使用 TEXT

所以你的表的创建语句可以是:

CREATE TABLE IF NOT EXISTS posts (
title TEXT,
news_description TEXT UNIQUE NOT NULL,
publication_date INTEGER NOT NULL DEFAULT 1556399472,
PRIMARY KEY(title)
);

如果您希望 publication_date 可以为 null,则可以从定义中删除 NOT NULL

关于sql - 如何在 SQLite 中将 int(UNIX 时间戳)转换为日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64077513/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com