gpt4 book ai didi

sqlite - 在我的 sqlite 数据库中,我想将日期存储为 '01.02.13' 而不是 '2013-02-01' ,这可能吗?

转载 作者:行者123 更新时间:2023-12-02 17:52:40 25 4
gpt4 key购买 nike

SELECT date('now'); 打印 YYYY-MM-DD,我希望将其反转。

SELECT strftime('%d.%m.%Y','now'); 打印 DD.MM.YYYY,我只想有 2年份中的数字。

如何使用这种格式按日期排序并按年份分组?

最佳答案

允许日期存储在“YYYY-MM-DD”中。让我们重点讨论如何以您想要的格式显示日期。 chepner 的评论非常有值(value)。

让我们采用这样的表格:

name        dob
---------- ----------
John 1990-12-31
Sarah 1989-12-31
Thelma 1989-11-30
Matt 1990-11-30

让我们也显示 2 个字符的年份:

sqlite> select a.*, substr(strftime('%Y', dob),3, 2) as yr from test a;
name dob yr
---------- ---------- ----------
John 1990-12-31 90
Sarah 1989-12-31 89
Thelma 1989-11-30 89
Matt 1990-11-30 90

让我们以 dd.mm.yyyy 格式和 dd.mm.yy 格式显示日期:

sqlite> select a.*,
...> strftime('%d.%m.', dob) || substr(strftime('%Y', dob),3, 2) as yr,
...> strftime('%d.%m.%Y', dob) as moddob
...> from test a;
name dob yr moddob
---------- ---------- ---------- ----------
John 1990-12-31 31.12.90 31.12.1990
Sarah 1989-12-31 31.12.89 31.12.1989
Thelma 1989-11-30 30.11.89 30.11.1989
Matt 1990-11-30 30.11.90 30.11.1990

让我们看看有多少人出生在不同的年份:

sqlite> select substr(strftime('%Y', dob), 3, 2) as yr,
...> count(*)
...> from test
...> group by yr;
yr count(*)
---------- ----------
89 2
90 2

让我们看看有多少人出生在不同的月份:

sqlite> select strftime('%m', dob) as mth,
...> count(*)
...> from test
...> group by mth;
mth count(*)
---------- ----------
11 2
12 2

关于sqlite - 在我的 sqlite 数据库中,我想将日期存储为 '01.02.13' 而不是 '2013-02-01' ,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684917/

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