小编Kin*_*des的帖子

iSeries DB2 SQL - 使用CASE语句在UDF中更新变量

我正在尝试为DB2创建用户定义的函数,但无法弄清楚.我对t-sql感觉更舒服,这将以十几种方式实现.我需要帮助,因为我收到的所有内容都是神秘的错误消息,告诉我没有有效的令牌或其他类似的令牌.

基本前提是我试图将正常日期转换为整个数据库中使用的日期格式(cyymmdd)这里是伪代码:

Get current time;
If YEAR(current time) > 1999 then 1 else 0;
Run Code Online (Sandbox Code Playgroud)

很简单吧?无法让它发挥作用.这是实际的代码:

DECLARE Cn CHAR ( 1 ) ;
CASE
WHEN YEAR(X) > 1999
THEN SET Cn = 1;
ELSE SET Cn = 0;
Run Code Online (Sandbox Code Playgroud)

还尝试过:

DECLARE Cn CHAR ( 1 ) ;
CASE YEAR(X)
WHEN  > 1999
THEN SET Cn = 1;
ELSE SET Cn = 0;
Run Code Online (Sandbox Code Playgroud)

而那应该是悲惨的失败.

我真的不知道如何只用SQL将3/25/2014转换为1140325.我想我可以在应用程序逻辑中处理这个问题,但这不是我想要的方式.

提前致谢.

sql db2 user-defined-functions case-statement ibm-midrange

-1
推荐指数
1
解决办法
1912
查看次数