【问题标题】:Excel date parameter in SQL querySQL查询中的Excel日期参数
【发布时间】:2014-09-30 21:17:43
【问题描述】:

我使用 SQL 查询通过 excel 从 oracle 数据库中检索数据表。

当使用固定日期时,我会收到此请求:

SELECT * FROM MyTable WHERE MyTable.Date > {ts '2014-09-30 00:00:00'}

我想做的是用单元格中的日期替换固定日期。 我尝试了以下方法:

SELECT * FROM MyTable WHERE MyTable.Date > ?
SELECT * FROM MyTable WHERE MyTable.Date > {ts ?}
SELECT * FROM MyTable WHERE MyTable.Date > {ts '?'}
SELECT * FROM MyTable WHERE MyTable.Date > {ts [?]}
SELECT * FROM MyTable WHERE MyTable.Date > {ts ['?']}

这些都不起作用。我不知道从那里去哪里。 最后,我希望日期单元格在美国 (12/31/2014) 或国际 (31/12/2014) 配置中工作。

【问题讨论】:

    标签: mysql sql excel oracle odbc


    【解决方案1】:

    如果日期使用 Excel 日期格式存储在单元格 A1 中,那么要将其作为参数传递给查询,您必须执行以下操作:

    1 - 将日期格式转换为单元格 B2 中用于 obdc 的正确日期字符串:

    = LOWER(TEXT(D2,"dd-mmmm-yyyy"))
    

    2 - 将 B2 单元格作为参数传递给查询:

    SELECT * FROM MyTable WHERE MyTable.Date > ?
    

    【讨论】:

    • dateFormat 取决于您的区域设置,如果您像我一样在瑞士(法语部分),它必须是 "jj-mm-aaaa(其中 j = jour = day / a = année = year)。因此,请检查您的区域设置并相应地应用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多