在postgresql中将日期转换为整数

在postgresql中将日期转换为整数,sql,postgresql,date,integer,Sql,Postgresql,Date,Integer,我正在尝试将日期(日期类型)转换为int。这个int应该是自1900年1月1日以来的天数。如何在postgresql中获取此信息?在excel中,当我将日期与字符串连接在一起时,我会自动得到这个结果。 示例:2011/11/01转换为整数为36831只需减去两个日期: select date '2011-11-01' - date '1900-01-01' 结果将是天数 手册中的更多详细信息: 100年大约是36500天,对吗?所以OP的计算结果是1900年到2011年间大约101年。我不相信

我正在尝试将日期(日期类型)转换为int。这个int应该是自1900年1月1日以来的天数。如何在postgresql中获取此信息?在excel中,当我将日期与字符串连接在一起时,我会自动得到这个结果。
示例:2011/11/01转换为整数为36831只需减去两个日期:

select date '2011-11-01' - date '1900-01-01'
结果将是天数

手册中的更多详细信息:

100年大约是36500天,对吗?所以OP的计算结果是1900年到2011年间大约101年。我不相信这个答案。我更愿意相信PostgreSQL的减法运算符。@MikeSherrill'CatRecall':不确定“not trust”是指哪个答案。但你是对的:Postgres为我的示例返回40846,来源于OP:“示例:2011/11/01转换为int as 36831”谢谢你的回答。。。但这太令人困惑了,在excel中,我可以使用这个函数:=datevalue(“2011/11/01”)获取序列号36831。但是,在博士后。。。我尝试了减法作为你的答案,结果不是36831当我尝试这个:(选择日期'2011-11-01'-日期'1900-01-01')+2在postgre中,结果与36831相同。为什么它必须添加2…我不确定我的查询:-(@nidazakiy显然Excel不使用
1900-01-01
作为基础。如果运行
选择日期'2011-11-01'-36831
,您将看到它的计算结果为
1910-12-30
,所以我猜Excel使用的是
1900-01-01
。顺便说一句:名称是Postgres或PostgreSQL,但不是Postgre