如何创建UDF以根据输入返回特定值

我创建了一个视图,以返回4个项目,每个项目均基于CURDATE()函数。这四个项目是

  • 当前日期的年份。
  • 当前日期年份的罗马字母(这使用附加功能转换为罗马数字)。
  • 基于某些CASE逻辑的任意年份与当年的年份。
  • 基于CASE逻辑的罗马编号与当前的任意年份相同 年(这也使用附加功能转换为罗马数字)。

我需要创建一个anno() UDF,该UDF将接受日期输入和一个参数,以确定在提供的日期应返回4个结果中的哪个。

我已将完整的预期过程编写为存储的View。

SELECT YEAR( curdate( ) ) AS 'Current Year',toRoman( YEAR( curdate( ) ) ) AS 'Anno Domini',CASE WHEN ( date_format( curdate( ),'%m/%d' ) BETWEEN '01/01' AND '10/05' ) THEN ( YEAR ( curdate( ) ) - 1898 ) WHEN ( date_format( curdate( ),'%m/%d' ) BETWEEN '10/06' AND '12/31' ) THEN ( YEAR ( curdate( ) ) - 1897 ) END AS 'Year of the King','%m/%d' ) BETWEEN '01/01' AND '10/05' ) THEN toRoman( ( YEAR ( curdate( ) ) - 1898 ) ) WHEN ( date_format( curdate( ),'%m/%d' ) BETWEEN '10/06' AND '12/31' ) THEN toRoman( ( YEAR ( curdate( ) ) - 1897 ) ) END AS 'Anno Regis'

理想情况下,我希望有一个类似anno(date,arg)的UDF,并且如果Current Yeararg = 1Anno Domini,{ {1}}(如果arg = 2,和Year of the King,如果arg = 3

在我的示例视图中,要弄清楚Anno Regis = 2019; arg = 4 = MMXIX; Current Year = 122; Anno Domini = CXII。

我能够拼凑而成,以达到目标。一般而言,我对MySQL感到满意,而对UDF则是新手。任何帮助或指导将不胜感激。

p854200 回答:如何创建UDF以根据输入返回特定值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3124155.html

大家都在问