我已经写了类似belo的代码,但出现如下错误:-
InvalidRequest:来自服务器的错误:code = 2200 [Invalid query] message =“ Java源代码编译失败:第1行:java.util.String无法解析为类型第1行:令牌“ Date”的语法错误,@预期的第4行:SimpleDateFormat无法解析为类型
CREATE FUNCTION saumya.text2dt ( input text )
RETURNS NULL ON NULL INPUT
RETURNS timestamp
LANGUAGE java
AS $$
java.text.ParseException
java.text.SimpleDateFormat
java.util.Date
String ms = input;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf.parse(ms);
return sdf.format(date);
$$
答案 0 :(得分:1)
创建UDF语法:
CREATE FUNCTION text2dt ( input text )
RETURNS NULL ON NULL INPUT
RETURNS timestamp
LANGUAGE java
AS '
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try{
java.util.Date date = sdf.parse(input);
return date;
}catch(Exception e){
return null;
}
';