【问题标题】:PERVASIVE - SQL Double - Date REquestsPERVASIVE - SQL Double - 日期请求
【发布时间】:2021-01-28 08:01:22
【问题描述】:

在我的表列 DeliveryDate 数据类型是“DOUBLE”而不是日期

如何选择以下示例

SELECT .... FROM .... WHERE DeliveryDate>='01.01.2021'

我可以将 CURRENTDATE() 转换为 DOUBLE 值吗?

谢谢

【问题讨论】:

  • DOUBLE 中的日期是如何存储的?多年来,我见过几种存储日期的方法。一旦你弄清楚它是如何存储的,你就可以编写一个方法来转换你想要搜索的值。

标签: pervasive pervasive-sql


【解决方案1】:

简短的回答是不,您不能只将 DATE 转换为 DOUBLE。如果你执行:

select convert(CURDATE(), sql_double)

你会得到一个错误。这是因为CURDATE 返回格式为 MM\DD\YYYY 的日期。由于斜线,转换为 Double 失败。
你可以这样做:

选择转换( 连接( 日期部分(年份,curdate()) , concat(right(concat('00', DatePart(month, curdate())),2) , 对(concat('00', DatePart(day, curdate())),2))), sql_double)

但这假设 DOUBLE 只是 DATE 值的 YYYYMMDD 串联。

您需要确定 DOUBLE 字段的格式并调整算法以满足您的需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 2022-10-06
    • 2018-11-07
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多