PostgreSQL获取错误以更改显式类型转换

r1wp621o  于 2022-12-26  发布在  PostgreSQL
关注(0)|答案(1)|浏览(73)
SELECT COUNT(*) 
FROM WASADMIN.DAILYTXNSREPORT 
WHERE UBACCOUNTID = '01ED10EOD0100' 
  AND UBTXNAMT = '109.63' 
  AND UBTYPE = 'I' 
  AND UBVALUEDTTM LIKE '11/7/2015  12:00:00 AM%' 
  AND UBTXNAMTCR = '109.63' 
  AND UBTXNAMTDR = '0.0' 
  AND UBTXNCODE = 'IAP' 
  AND UBTXNNARRATION = 'Fixed Narrative:Interest Application' 
  AND UBTXNSRCBRANCH = '70000001.0' 
  AND UBTXNBASEEQ = '109.63' 
  AND UBCHANNELID = 'UXP'

执行SQL命令时出错:从WASADMIN. UBTB_DAILYTXNS报告中选择计数(*),其中UBCOUNTID ="01ED10EOD0100",UBXNAMT ="109.63",UBTYPE ="I",UBVALUEDTTM类似于"11/7/2 ......"
错误:操作员不存在:没有时区时间戳~~未知
提示:没有运算符与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
职位:139
预期答案:来计算

e4yzc0pl

e4yzc0pl1#

LIKE用于比较字符串值,而不是时间戳。
我不确定LIKE条件应该达到什么目的,但看起来您想找到''等于2015-11-07的午夜的行,下面的代码可以做到这一点:

AND ubvaluedttm = timestamp '2015-11-07 00:00:00'

range条件可能更接近LIKE条件的作用:

AND ubvaluedttm >= timestamp '2015-11-07 00:00:00' 
AND ubvaluedttm <= timestamp '2015-11-07 00:00:00.999999'

相关问题