date列,它是cassandra中的一个文本类型所以我需要一个自定义项将该文本转换为时间戳,以便我可以查询该列

k97glaaz  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(343)

我写过像belo这样的代码,但得到的错误是below:-
无效请求: 服务器出错: 代码=2200[无效查询] message=“java源代码编译失败:第1行:java.util.string无法解析为类型 第1行:令牌“date”语法错误,应为@ 第4行:SimpleDataFormat无法解析为类型

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);        
$$
46qrfjad

46qrfjad1#

创建自定义项语法:

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;
}      
';

相关问题