oracle原来的是:
decode(instr(alarmclassid, '0000'),0,alarmclassid,substr(alarmclassid,1,instr(alarmclassid, '0000') - 1)) as alarmclassid我改写成postgreSQL
case when POSITION('0000' in alarmclassid) = 0 then alarmclassid else substr(alarmclassid,1,POSITION('0000' in alarmclassid)) -1 end as alarmclassid报这个错function pg_catalog.position(numeric, unknown) does not exist at character 458
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
decode(instr(alarmclassid, '0000'),0,alarmclassid,substr(alarmclassid,1,instr(alarmclassid, '0000') - 1)) as alarmclassid我改写成postgreSQL
case when POSITION('0000' in alarmclassid) = 0 then alarmclassid else substr(alarmclassid,1,POSITION('0000' in alarmclassid)) -1 end as alarmclassid报这个错function pg_catalog.position(numeric, unknown) does not exist at character 458
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
解决方案 »
- 如何比较两个数据库中的表和记录的不同?版本比较
- 高手来帮忙,现有二个表,一个为用户数据,一个为用户发布的留言,如何删除某用户同时删除他所有的留言?
- 【MYSQL】自定义函数获取当前表名和字段名
- mysqldump不能 忽略多个表
- 问一个关于MYSQL的replication的问题
- c操作mysql数据库时错误处理有问题,请大虾们来看看,谢谢啦!
- 为什么 MYSQL 在WIN2003中装不上?用什么方法可以装上啊 ?
- Can't connect to MySQL server on .......' (10048)
- 数据库按名字(拼音)排序的问题.估计很少人做过...
- 建立触发器 出现错误 应该怎么解决,求大神
- mySQL向存储过程传参
- 关于MYSQL中插入新记录的问题
case when POSITION('0000' in cast(alarmclassid as char)) = 0 then alarmclassid else substr(cast(alarmclassid as char),1,cast(POSITION('0000' in cast(alarmclassid as char)) as integer) - 1 ) end as aaa
报这个错
CASE types text and numeric cannot be matched
xxx和yyy必须是同一类型另外 cast(xxx as char)最好改成 cast(xxx as text), 因为char等同于char(1)