今天遇到写存储过程遇到的一个小问题,在查询语句中使用到了自定义的数当做列的值,然后想给这一列起一个别名 ,就直接在后面用了 as 别名。
执行存储过程,存储过程报错,ERROR: failed to find conversion function from unknown to text 。意思是没有找到一个将未知 转换成text 的函数。

举例说明:
在以下代码中 ,我们需要用到临时表update_中的三个字段来进行where条件的判断,因为_p_year,_stat_date是存储过程中输入的参数 也包括'00000' ,都是要起别名当做where的条件判断
但是类似这种,直接用的话会报上述错误。
所以需要加 ::text 转换成文本类型 ::int 转换成int类型

UPDATE employment_status e SET cgl=update_.cgl FROM
(SELECT
temp_.area_code as sfdm,
        '00000' as yxdm,
    _p_year as year,  --问题出现的地方
   _stat_date::text as stat_date,
(
(
temp_.rate - _v_avg_province_cgl_score
) / _v_stddev_province_cgl_score * 10 + 50
) / _v_cgl_rate as cgl
FROM
(
SELECT
inf_.area_code,
rate
FROM
(
SELECT
b.yxszsdm,
b.byqxdm,
1.0 * num / total AS rate
FROM
(
SELECT
yxszsdm,
COUNT (1) AS total
FROM
graduate_info gra,
school_info sch
WHERE
YEAR = _p_year
AND gra.yxdm = sch.code
AND sch.build_type_name NOT LIKE '科研机构'
GROUP BY
yxszsdm
) AS A,
(
SELECT
yxszsdm,
byqxdm,
COUNT (1) AS num
FROM
graduate_info gra,
school_info sch
WHERE
YEAR = _p_year
AND gra.yxdm = sch.code
AND sch.build_type_name NOT LIKE '科研机构'
GROUP BY
yxszsdm,
byqxdm
) AS b
WHERE
A .yxszsdm = b.yxszsdm
AND byqxdm ='80'
) gra_
RIGHT JOIN (
SELECT DISTINCT
u.area_code
FROM
user_info u,
school_info s
WHERE
u.org_code = s.code
AND s.build_type_name != '科研机构'
ORDER BY
area_code
) inf_ ON gra_.yxszsdm = inf_.area_code
) temp_ )update_
WHERE e.sfdm=update_.sfdm
AND e.yxdm=update_.yxdm 
AND e.stat_date=update_.stat_date
AND e.year=update_.year;

简单例子:

Select * 
from (select 'string'  as Rowname, Data
      From table)
Union all
     (select 'string2' as Rowname, Data
      From table)

期望输出:
Rowname Data
string 53
string2 87

这样的话会报错,需要我们加一个转换函数 ::text 修改后

SELECT 'string'::text AS rowname, data FROM tbl1

UNION ALL
SELECT 'string2', data FROM tbl2

sql查询语句报错处理——ERROR: failed to find conversion function from unknown to text的更多相关文章

  1. 数据库查询语句报错-ORA-00911: invalid character

    数据库查询语句报错-ORA-00911: invalid character 根据自己经验总结下: 1.都是分号惹的祸,有时候sql语句后面有分好导致这种错误 2.还有一种是从别处copy过来的sql ...

  2. idea报错。Error:Failed to load project configuration: cannot parse xml file E:\project\.idea\workspace.xml: Error on line 1: 前言中不允许有内容。

    因为电脑卡死强制重启电脑后打开idea,进行junit单元测试报错: idea报错.Error:Failed to load project configuration: cannot parse x ...

  3. MySQL查询语句报错 sql_mode=only_full_group_by 问题

    升级MySQL到5.7后,查询语句总是报sql_mode=only_full_group_by问题,总结归纳了两种解决方案,推存第二种解决方案. 报错信息: [Err] 1055 - Expressi ...

  4. git 报错:error: failed to push some refs to 'https://github.com/Anderson-An/******.git'(已解决)

    提交push 报错: $ git push origin masterTo https://github.com/Anderson-An/******.git ! [rejected] master ...

  5. 监听lsnrctl status查询状态报错linux error 111:connection refused

    报错现象 今天给客户一个单实例环境配置监听,创建正常,查询状态异常报错 tns tns tns linux error :connection refused 匹配MOS Starting TNS L ...

  6. alert日志报错:ERROR: failed to establish dependency between database RACDB and diskgroup resource ora.DATA.dg

    一.打开数据库alert日志,发现有报错 ERROR: failed to establish dependency between database RACDB and diskgroup reso ...

  7. struts2启动报错:ERROR com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor - Conversion registration error

    [framework] 2019-12-05 11:34:05,441 - org.springframework.web.context.ContextLoader -5352 [RMI TCP C ...

  8. mybatis xml中是sql语句报错: Error creating document instance. Cause: org.xml.sax.SAXParseException: The

    最近项目折腾了老半天,找了资料才知道是这么回事... 因为语句中有一个小于号“<”,在XML中,会被当成一个页面元素来解析,不会处理为mysql的SQL语句的组成部分,修改如下: 1.在xml的 ...

  9. github commit 报错:error: failed to push some refs to 'https:'错误解决方法

    为什么会出现这个问题呢? 因为我在github中删除了一个文件readme.txt,但是本地并不知道我删除了readme.txt,本地中还保存了readme.txt文件,导致了云端的文件,和本地的文件 ...

随机推荐

  1. .Net Web开发技术栈

    有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net web开发技术栈,以此帮助那些想学,却不知 ...

  2. (转) Redis学习教程--基本命令

    原文出自:http://www.cnblogs.com/woshimrf/p/5198361.html 目录 全局操作:1.redis是key-value存储的,放在内存中,并在磁盘持久化的数据结构存 ...

  3. Angular5.0.0新特性

    文章来自官网部分翻译https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced Angular5.0.0版本 ...

  4. dfs序和欧拉序

    生命不息,学习不止,昨天学了两个算法,总结一下,然而只是略懂,请路过的大佬多多谅解.   一.dfs序 1.什么是dfs序? 其实完全可以从字面意义上理解,dfs序就是指一棵树被dfs时所经过的节点的 ...

  5. 入我新美大的Java后台开发面试题总结

    静儿最近在总结一些面试题,那是因为做什么事情都要认真.面试也一样,静儿作为新美大金融部门的面试官,负责任的告诉大家,下面的问题回答不上来,面试是过不了的.不过以下绝不是原题,你会发现自己实力不过硬,最 ...

  6. 数据库无法连接JDBC

    解决:Connections could not be acquired from the underlying database! 博客分类: 问题解决 数据库 iBatis   og4j:WARN ...

  7. AngularJS学习篇(九)

    AngularJS XMLHttpRequest $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据. $http.get('someUrl',config).then(s ...

  8. touchmove Bug 工作遇到

    touchmove在安卓浏览器上只会触发一次,需要preventDefault() touchmove events in Android web browsers have a really ser ...

  9. HTML学习笔记 div布局及table布局案例 第三节 (原创)参考使用表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 基于.net的通用内存缓存模型组件

    谈到缓存,我们自然而然就会想到缓存的好处,比如: 降低高并发数据读取的系统压力:静态数据访问.动态数据访问 存储预处理数据,提升系统响应速度和TPS 降低高并发数据写入的系统压力 提升系统可用性,后台 ...