sql - Date based Query
问题描述
I am trying to get this to run as a test for checking FISCAL_START
date range.
SELECT FISCAL_START,DESCRIPTION,
(
CASE FISCAL_START
WHEN FISCAL_START = '2014-03-31' THEN DESCRIPTION
WHEN FISCAL_START = '2014-09-29' THEN DESCRIPTION
ELSE 'Test Failed'
END )
FROM GL_PERIOD
keep getting error that missing key word.
解决方案
您混淆了case
表达式语法。
你想要的可能是:
SELECT FISCAL_START, DESCRIPTION,
CASE WHEN FISCAL_START >= DATE'2014-03-31'
AND FISCAL_START <= DATE'2014-09-29' THEN DESCRIPTION
ELSE 'Test Failed'
END
FROM GL_PERIOD
可以简化为:
SELECT FISCAL_START, DESCRIPTION,
CASE WHEN FISCAL_START BETWEEN DATE'2014-03-31' AND DATE'2014-09-29' THEN DESCRIPTION
ELSE 'Test Failed'
END
FROM GL_PERIOD
推荐阅读
- c# - IEnumerable 上的 linq 表达式多久出现一次
评价? - php - 导入数据库时出现错误 #1046
- node.js - 如何从 node.js 中的 CSV 读取值
- java - 我可以在运行时创建一个 java 类吗
- regex - 匹配以 HTML 字符串中的特定模式开头的 HTML 类名
- react-native - 在测试开始排毒之前重新启动应用程序
- sql-server - SQL 从 2008 升级到 2016。Varchar 到 Datetime 超出范围
- bash - 从文件中排序和删除unix中的重复项
- excel - 像 WEBSERVICE 这样的 excel 函数,但适用于 https
- ruby-on-rails - Rails Ckeditor S3上传的图片网址一段时间后过期