我正在制作一个简单的SQL UDF,从char / varchar转换为时间。 因为它应该是通用的,我希望用户指定他的输入格式,所以我可以使用像
这样的东西cast(user_time as time(0) format user_format)
但它不起作用。 我想知道是否可以使用格式作为UDF参数,如果是,它应该如何在此演员表中使用。我可以将它拆开来阅读格式并使时间匹配,但如果有更简单的方法,我宁愿避免使用它。
只是为了澄清,我正在使用Teradata 14,我必须使用SQL,所以C中的UDF对我来说不是一个真正的选择。 提前致谢
答案 0 :(得分:1)
您无法将FORMAT作为参数传递给CAST。
您可以使用TO_TIMESTAMP来执行此操作,但为什么需要UDF呢?
myUDF('12:34:45', 'hh:mi:ss')
比旧式Teradata CAST短得多:
hh:mi:ss' (time(0), FORMAT 'hh:mi:ss')