sql - SQL 查询不输出结果
问题描述
大家好,我在这里遇到了一个我正在尝试实现的查询的问题......
问题是下一个...
我想显示从 01-2014 到现在的月份和年份。
当我运行此查询时,它只显示一条消息“命令运行正确”并且不显示任何内容......
我在哪里做错了?
谢谢。
Declare @año int, @mes int, @m int
Set @año = Year(Getdate())
Set @mes = Month(Getdate())
Set @m = 0
While @año < 2014 begin
While @m < 12 begin
Select @año as año, @m as mes
set @m = @m + 1
End
Set @año = @año - 1
Set @m = 0
End
解决方案
因此,您没有看到任何输出@año < 2014
(@año = 2019
因此它没有进入循环)。只要条件为真,就会执行while循环。在您的示例中,从一开始就是错误的。此外,
- 你设置
@m = 0
,我改成1
。出现了一个数字为 0 的月份。 你设置
@m < 12
,我改成13
。因为它,十二月缺席。Declare @año int, @mes int, @m int
Set @año = Year(Getdate()) Set @mes = Month(Getdate()) Set @m = 1 While @año > 2014 begin While @m < 13 begin Select @año as año, @m as mes set @m = @m + 1 End Set @año = @año - 1 Set @m = 1 End
推荐阅读
- geometry - 不等边三角形缺失边的长度
- r - 根据出现次数选择新的重构级别数
- bash - tput 在捕获输出子shell *和*在脚本中总是返回 80 (Cygwin/Bash)
- c# - 更容易验证是否是同一用户与 DRY 相关
- ios - iOS 二进制搜索代码在 256 项以上崩溃
- javascript - 如何获取给定变量的自定义 ceil 和 floor 值?
- arm - 为 STM32 或 ARM 编写设备库 C/C++
- android - 无法使用媒体提取器和媒体复用器合并 2 个 mp4 文件
- excel - 在表格中添加行而不影响条件格式
- flutter - 更改高度后在文本字段中颤动错误的文本位置