首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenQuery日期选择

OpenQuery日期选择
EN

Stack Overflow用户
提问于 2018-02-09 12:38:42
回答 3查看 76关注 0票数 0

我有下面的openquery,它工作得很好,但现在我想使用gl_trans.gl_trans_date只选择transactions >= '2017-07-01',但无法获得正确的语法。后台数据库是Informix,我已经通过google尝试了很多建议,但都没有成功:(

代码语言:javascript
复制
SELECT *
FROM OpenQuery(PRONTO_L01, 'SELECT 
gl_trans.gl_accountcode,
gl_trans.gl_amount,
gl_trans.gl_trans_date ,
gl_trans.gl_details
FROM gl_trans
WHERE gl_trans.gl_amount <> 0')
EN

回答 3

Stack Overflow用户

发布于 2018-02-09 12:48:09

修改WHERE子句上的查询并添加新的列条件,如下所示。试试这个:

代码语言:javascript
复制
SELECT *
FROM OpenQuery(PRONTO_L01, "SELECT 
gl_trans.gl_accountcode,
gl_trans.gl_amount,
gl_trans.gl_trans_date ,
gl_trans.gl_details
FROM gl_trans
WHERE gl_trans.gl_amount <> 0 AND gl_trans.gl_trans_date >= '2017-07-01'")
票数 0
EN

Stack Overflow用户

发布于 2018-02-10 07:52:11

问题是Informix日期格式为MM-DD-2017,使用日期函数解决,如下所示

gl_trans.gl_trans_date >=日期(‘07-01-2017)’“

票数 0
EN

Stack Overflow用户

发布于 2021-07-17 14:49:24

代码语言:javascript
复制
     I did something like that and it worked.

    Declare @date DATETIME = '2017-07-01';
    SELECT *
    FROM OpenQuery(PRONTO_L01, 'SELECT 
    gl_trans.gl_accountcode, 
    gl_trans.gl_amount,
    gl_trans.gl_trans_date ,
    gl_trans.gl_details
    FROM gl_trans
    WHERE gl_trans.gl_trans_date  >= ''''' + 
    CONVERT(CHAR(19), @date, 120) + N'''''''))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48698815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档