在 Pervasive 中将数字转换为日期 SQL
Convert number to Date in 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) 更改为真实日期,例如 22-08-2018。
希望有人能帮我解答!
我猜您希望将值转换为日期 2014-08-14(Excel 中的值)。如果是:
SELECT Artikel, Deb,
'1899-12-30'::date + Datum * interval '1 day',
(BeginVoorraad + Mutatie)AS Stand
FROM "Fust"
WHERE Artikel IN (97955)
ORDER BY Artikel DESC;
Excel 日期搞砸了,因为它不识别 1900 年为非闰年(在维基百科上查找)。
如果值略有不同,只需更改基准日期即可获得您真正想要的值。
编辑:
在 Pervasive 中,我认为这可以满足您的要求:
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
正确答案是
CAST((Datum -2) AS datetime)
我正在使用 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) 更改为真实日期,例如 22-08-2018。
希望有人能帮我解答!
我猜您希望将值转换为日期 2014-08-14(Excel 中的值)。如果是:
SELECT Artikel, Deb,
'1899-12-30'::date + Datum * interval '1 day',
(BeginVoorraad + Mutatie)AS Stand
FROM "Fust"
WHERE Artikel IN (97955)
ORDER BY Artikel DESC;
Excel 日期搞砸了,因为它不识别 1900 年为非闰年(在维基百科上查找)。
如果值略有不同,只需更改基准日期即可获得您真正想要的值。
编辑:
在 Pervasive 中,我认为这可以满足您的要求:
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
正确答案是
CAST((Datum -2) AS datetime)