DB2自定义函数报-440

本人小白,刚刚接触DB2,按照网上的例子写了一个自定义函数,入口为两个参数,为什么在使用的时候报-440,自己百度的好像说是参数不对。函数如下CREATE FUNCTION "DB2INST1"."DATE_FORMAT"(TS timestamp, fmt varchar(20))returns varchar(50)returnwith tmp (dd,mm,yyyy,hh,mi,ss... 显示全部
本人小白,刚刚接触DB2,按照网上的例子写了一个自定义函数,入口为两个参数,为什么在使用的时候报-440,自己百度的好像说是参数不对。函数如下CREATE FUNCTION "DB2INST1"."DATE_FORMAT"(TS timestamp, fmt varchar(20))
returns varchar(50)
return
with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as
(
select
substr( digits (day(TS)),9),
substr( digits (month(TS)),9) ,
rtrim(char(year(TS))) ,
substr( digits (hour(TS)),9),
substr( digits (minute(TS)),9),
substr( digits (second(TS)),9),
rtrim(char(microsecond(TS)))
from sysibm.sysdummy1
)
select
case fmt
when 'yyyymmdd'
then yyyy || mm || dd
when 'mm/dd/yyyy'
then mm || '/' || dd || '/' || yyyy
when 'yyyy/dd/mm hh:mi:ss'
then yyyy || '/' || mm || '/' || dd || ' ' ||
hh || ':' || mi || ':' || ss
when 'yyyyMMddHH24miss'
then yyyy || mm || dd || hh || mi || ss
when 'yyyyMMdd'
then yyyy || mm || dd
when 'HH24miss'
then hh || mi || ss
when 'nnnnnn'
then nnnnnn
else
'date format ' || coalesce(fmt,' ') ||
' not recognized.'
end
from tmp 收起
参与11

查看其它 7 个回答一诺万世 的回答

一诺万世 一诺万世 软件开发工程师 北京中信科技
谢谢大家。
软件开发 · 2015-01-15
浏览2744

回答者

一诺万世
软件开发工程师 北京中信科技
评论15

一诺万世 最近回答过的问题

回答状态

  • 发布时间:2015-01-15
  • 关注会员:1 人
  • 回答浏览:2744
  • X社区推广