在SQL中将数字转换为日期

在SQL中将数字转换为日期,sql,date,pervasive-sql,Sql,Date,Pervasive Sql,我正在使用Actian SQL版本12.10.067并尝试输出一些值 运行以下查询时: SELECT Artikel, Deb, Datum,(BeginVoorraad + Mutatie)AS Stand from "Fust" where Artikel IN (97955) ORDER BY Artikel DESC 我得到输出: Artikel Deb Datum Stand 97955 200256 41865.0 68.0 现在,我想将基准编号(41865.0)

我正在使用Actian SQL版本12.10.067并尝试输出一些值

运行以下查询时:

SELECT Artikel, Deb, Datum,(BeginVoorraad + Mutatie)AS Stand 
from "Fust"
where Artikel IN (97955)
ORDER BY Artikel DESC
我得到输出:

Artikel Deb    Datum   Stand
97955   200256 41865.0 68.0
现在,我想将基准编号(41865.0)更改为实际日期,如2018年8月22日


我希望有人能帮我找到正确的答案

我猜您希望将该值转换为2014-08-14日期(Excel中的值)。如果是:

Excel的日期很混乱,因为它不承认1900年是非闰年(请在维基百科上查找)

如果值略有不同,只需更改基准日期,即可获得真正想要的值

编辑:

在我看来,这正是你想要的:

dateadd('day', datum, '1899-12-30')

我猜您希望将该值转换为日期2014-08-14(Excel中的值)。如果是:

Excel的日期很混乱,因为它不承认1900年是非闰年(请在维基百科上查找)

如果值略有不同,只需更改基准日期,即可获得真正想要的值

编辑:

在我看来,这正是你想要的:

dateadd('day', datum, '1899-12-30')
你可以试试这个

SELECT Artikel, Deb, cast(Datum as datetime),(BeginVoorraad + Mutatie)AS Stand 
from "Fust"
where Artikel IN (97955)
ORDER BY Artikel DESC
你可以试试这个

SELECT Artikel, Deb, cast(Datum as datetime),(BeginVoorraad + Mutatie)AS Stand 
from "Fust"
where Artikel IN (97955)
ORDER BY Artikel DESC
正确答案是

CAST((Datum -2) AS datetime)
正确答案是

CAST((Datum -2) AS datetime)

我使用的是Actian SQL数据库,也称为普适SQL。我使用的是Actian SQL数据库,也称为普适SQL。我没有为此使用Excel。在我的国家,日期符号与世界各地常用的日期符号不同。运行查询时会出现语法错误。@KevinZwemmer。“psql”(原始标记)是用于Postgresql的,这种语法是正确的。我不知道在普及中为日期添加天数的正确语法,但您可能知道。我对普及的了解相当少,因为这是我第一次尝试。这个错误告诉我:,有什么线索吗?@GordonLinoff:不相关,但是:在Postgres中,你可以将其简化为
'1899-12-30'::date+Datum::int
我不使用Excel,在我的国家,日期符号与世界上常用的日期符号不同。运行查询时会出现语法错误。@KevinZwemmer。“psql”(原始标记)是用于Postgresql的,这种语法是正确的。我不知道在普及中为日期添加天数的正确语法,但您可能知道。我对普及的了解相当少,因为这是我第一次尝试。这个错误告诉我:,有什么线索吗?@GordonLinoff:不相关,但是:在Postgres中,你可以简化为
'1899-12-30'::date+Datum::int
,如果每次的日期都是相同的,那么这就行了,但是我使用的数据库中有250000个日期,所以这是行不通的。选择Artikel,Deb,cast(Datum as datetime),(Beginvorraad+Mutatie)作为“Fust”的替代,其中Artikel以Artikel Decin SQL cast的(97955)顺序用于转换数据类型。请给出获得[LNA][PSQL][SQL Engine]的确切错误。语法错误:选择Artikel,Deb,cast(Datum如果每次的日期都是相同的,那就行了,但我使用的是一个包含250000个日期的数据库,所以这是行不通的。选择Artikel,Deb,cast(Datum as datetime),(Beginvorraad+Mutatie)作为“Fust”的替代品,Artikel在其中(97955)ORDER BY Artikel DESCin SQL cast用于转换数据类型。请给出获得[LNA][PSQL][SQL Engine]语法错误的确切错误:选择Artikel、Deb、cast(数据