首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >语句不返回任何值。

语句不返回任何值。
EN

Stack Overflow用户
提问于 2016-05-18 10:03:19
回答 3查看 66关注 0票数 0

我的问题发生在具有3列的特定表中。

代码语言:javascript
复制
itemnr --item number (int) 7 chars like 1111111
ccyymm --century year month (int) 6 chars like 201605
amount --amount of the specific item for that year month combo.

基本上,我想要创建一个表,显示过去12个月的数量。

我使用以下代码创建了12个虚拟表

代码语言:javascript
复制
SELECT * 
FROM items 
WHERE ccyymm = year(now())||right('00'||month(now()),2) -1

这向我展示了使用where ccyymm = 201604的所有项目,它运行得非常完美。

问题是,当我减去的月份大于当前月份时,我还必须从该年减去1,所以我使用了以下方法:

代码语言:javascript
复制
SELECT * 
FROM items 
WHERE ccyymm = (case 
                when month(now()) < 12 
                then year(now())- 1||right('00'||month(now()),2) 
                else year(now())||right('00'||month(now()),2) -12 
                end)

所以,如果我想得到12个月前的数据,月份小于12,它只是减去一年的1,所以基本上它必须给我201505。它说我的SQL是有效的,但它没有返回值,但当我查看数据库时,就会看到该ccyymm的数据。

EN

Stack Overflow用户

发布于 2016-05-18 10:11:32

在WHERE中,尝试smth类似CCYYMM >(现在是减一年),尽管我不知道最后一部分的确切语法。

票数 -2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37296333

复制
相关文章

相似问题

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