今天遇到写存储过程遇到的一个小问题,在查询语句中使用到了自定义的数当做列的值,然后想给这一列起一个别名 ,就直接在后面用了 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. 【转】S3C2440存储系统-SDRAM驱动

    SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)也就是通常所说的内存.内存的工作原理.控制时序.及相关控制器的配置方法一直是嵌入式系统 ...

  2. Docker部属Nsq集群

    用一了段时间NSQ还是很稳定的.除了稳定,还有一个特别值的说的就是部署非常简单.总想写点什么推荐给大家使用nsq来做一些东西.但是就是因为他太简单易用,文档也比较简单易懂.一直不知道要写啥!!!!! ...

  3. LINUX 笔记-grep命令

    grep [-acinv] [--color=auto] '查找字符串' filename 它的常用参数如下: -a :将binary文件以text文件的方式查找数据 -c :计算找到'查找字符串'的 ...

  4. Mysql Explain 参数解释

    查询计划使用以及使用说明 table:显示这一行数据是关于哪张表的. type:显示使用了何种类型,从最好到最差的连接类型为system.const.eq_ref.ref.fulltext.ref_o ...

  5. Java基础总结--IO总结1

    1.IO流(数据流)主要应用概述数据来源:存储在设备里面* IO流用来处理设备间数据之间的传输* Java对数据的操作是通过流的方式* Java用于对流的操作的对象都在IO包* 流按照流向分为:输出流 ...

  6. Myeclipse常见快捷键及配置

    0. 快捷键 ================================================================================ 编辑: Ctrl+Shi ...

  7. 【初学者必读】能让你月薪过万的5大web前端核心技能

    前言Web前端开发所涉及的内容主要包括W3C标准中的结构.行为和表现,那么这三项中我们需要掌握的核心技能是什么呢?看小编来为你揭开谜底的. 1.开发语言 HTML发展历史有二十多年,历经多次版本更新, ...

  8. Maven 设置Maven源/镜像

    在Eclipse/ InteliJ Idea使用Maven时,企业提供的本地仓库经常有些Jar包下载不下来,所以.配置Maven设置国内镜像对开发人员来说是必不可少的.今天写一篇自己配制的Maven镜 ...

  9. Android 开发笔记___实战项目:购物车

    购物车的应用很广泛,电商app基本上都有它的身影.由于它用到了多种存储方式,通过项目对数据的存储有更高层次的了解. 1.设计思路 首先看看购物车的外观.第一次进入时里面是空的,去购物页面加入购物车以后 ...

  10. SVN Upgrade working copy

    出现这个的原因是因为你机器上安装的svn客户端版本过高,而你从别的地方拷贝代码中的svn版本过低,点击SVN Upgrade working copy可以将代码中的svn版本升级.