Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从相当老的IBM iseries AS400 DB2查询数据(日期格式问题)

从相当老的IBM iseries AS400 DB2查询数据(日期格式问题)
EN

Stack Overflow用户
提问于 2020-01-24 04:30:55
回答 1查看 476关注 0票数 0

在从数据库中查询数据方面,我是个新手,现在,我对非常旧的(我不知道确切版本) IBM iSeries AS400 DB2数据库的日期格式有问题。我的问题是,此数据库中的日期存储在三个单独的列中,作为一个整数(列日+列、月+列年),我需要通过Excel中的ODBC连接到这个数据库,并根据所需的日期跨度(例如从2019年12月1日到2019年12月31日)过滤几行。在这种情况下,我不想使用PowerQuery进行所有的修改,因为完整的表有数百万行。我希望在string中指定筛选条件,这样PowerQuery就不必加载所有行.

我的方法如下:

我在Excel表中创建了6个参数单元格,其中简单地定义了日期(例如单元格1= '01‘、单元格2= '12’和单元格3= '2019')和日期(参数单元格4、5和6的逻辑相同)。然后,我在SQL字符串中提到了这些参数单元格,其中我定义了:

(日>=参数单元1,月份>=参数单元2,年份>=参数单元3)和(日<=参数单元4等)

对我的非常有用,但只有当我喜欢在同一年内输出几百行时,才会这样做。但是现在我面临一个问题,当我喜欢从2019年12月1日到2020年1月31日出口数据的时候。在这种情况下,我的“逻辑”不能工作,因为月份从'12‘和月到'01’。

我尝试了另一种方法,使用concat函数创建像'2019-12-01‘这样的文本列,然后将该列转换为日期时间格式(先转换为varchar8 ),但是这种方法似乎对我不起作用,因为每次我收到一个错误,上面写着:“找不到全局变量日期时间”。

在我给你发一些我的代码之前,我可以问你一个建议吗,如果你能想出一个更好的解决方案或方法来解决我的问题吗?

非常感谢,并祝您愉快:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-24 04:57:47

一个简单的解决办法是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from table where year * 100 + month between 201912 and 202001
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59896454

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文