我的时间戳为2017-07-19 11:45:01
,我希望它转换为int。
查询:
select cast(max(event_timestamp) as INT) from error_messages where error_level='ERROR' and user_name='git'
错误:
SQL Error [2366] [42846]: [Vertica][VJDBC](2366) ERROR: Cannot cast type timestamptz to int
[Vertica][VJDBC](2366) ERROR: Cannot cast type timestamptz to int
com.vertica.util.ServerException: [Vertica][VJDBC](2366) ERROR: Cannot cast type timestamptz to int
答案 0 :(得分:3)
您必须以这种方式使用override fun onDataChange(p0: DataSnapshot?) {
if(p0 != null) {
val food = p0.getValue(FBFood::class.java)!!
val repo = LocalFoodRepository()
doAsync {
repo.insertFood(this@LoginActivity, Food(food.foodId, food.foodName, food.foodDesc))
repo.insertServingDetails(this@LoginActivity, food.servingList.map { it.component2() })
repo.saveFood(this@LoginActivity, personalizedFood)
it.onNext(true)
it.onCompleted()
}
} else {
it.onNext(false)
it.onCompleted()
}
}
:
TIMESTAMPDIFF()
从你想要的时间戳开始,得到你想要的时间单位数(上面的SECOND)......
答案 1 :(得分:1)
如果你想把那个日期的Unix时间戳作为int而不是搜索堡垒。 一种选择是计算从您的日期到' 1970-01-01'以秒为单位。这是Unix时间戳。
答案 2 :(得分:0)
使用Vertica中的JULIAN_DAY函数将时间戳转换为整数值或数字。
有关详细信息,请参阅Vertica文档链接:https://my.vertica.com/docs/6.1.x/HTML/index.htm#16070.htm
以1秒的间隔从日期时间中提取数字。
SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-08');