相关文章推荐
豪爽的热水瓶  ·  How to export a Hive ...·  2 月前    · 
踏实的碗  ·  Exchange ...·  2 年前    · 
苦闷的围巾  ·  python - Anaconda : ...·  2 年前    · 
from stuent

但是运行的时候报错了: ERROR: invalid input syntax for type numeric:'优秀'
百度说:数据类型不符。
仔细想一下, 60是int,优秀是string,确实类型不符。
sql修改如下:

select 
		when score < 60  then '' || 60  
		else '优秀' end  
from stuent

      这样就都是string了,就不报错了。
      

把结果扩展一下

      其实这个报错不只case when会报,其他语句也会报这个错。原因都是类型不符,只要抓住这个,去排错就行了。
      

文章目录1. 问题描述2. 解决方案 1. 问题描述 在使用PostgreSQL数据库时遇到错误消息“invalid input syntax”,表明我们正在处理的是一个常见错误。完整的错误信息通常是下面这样: ERROR: invalid input syntax for type numeric: "c" at character 32 2. 解决方案 当用户试图插入与列类型不匹配的值时,会发生此错误。如果问题不是由于输入错误而引起的,则可能是需要开发人员解决的应用程序端错误。 SELECT urlencode( ' my special string ' ' s & things? ' ); urlencode ------------------------------------- my+special+string's+&+things? (1 row) SELECT content FROM http_get( ' http://httpbin.org/ip ' ); content ----------------------------- {"origin":"24.69.186.43"} 在PostgreSQL中,默认在进行数据操作及运算时,需要类型统一才能完美操作。当不同类型之间进行操作时,会产生类型自动兼容问题。下面就来介绍一下错误场景及解决方案。 1问题分类 在类型自动兼容问题中,我主要将其分为两大类: 第一类:在进行insert时所产生的问题,一般报错为 column "col" is of type type1 but expression i... 终于解决了中文列名的查询问题,却又出现了查询数据类型报错的问题。欲哭无泪啊!! 博主的数据库里有个时间码的数据列,内容是数字+字母的形式,数据列为text类型,但是在进行条件查询的时候一直报错数据类型有问题,意思大概是前面64810000是数字,后面ms是字母,格式不同。但是我的数据列明明是text啊!怎么还会有格式问题。 查询语句如下: sql = 'select * from source2decode where "工程参数.本机时间码" = 64810000ms' 博主鼓捣了一下午也没 解决 ERROR: invalid input syntax for type bytea 报错大义是不可用的bytea类型输入语法。 select cast (request as bytea) from nginx_log where id = 5567; ERROR: invalid input syntax for type bytea 时间: 0.20... 一、问题描述 在执行查询操作时,报了这个错误,通过分析,不是sql语句语法错误,如果是sql语法错误,就会报哪一行有问题,这个一看就是查询PostgreSQL数据类型搞错了,一个不是bigint类型的数据,数据库中保存的值为 1.0 .查询的时候让其作为bigint类型导致的。sql示例: select( ext ->> 'weekly_outp... CREATE OPERATOR public.=( PROCEDURE = public.varchar_equal_boolean, LEFTARG = pg_catalog.varchar, RIGHTARG = pg_catalog.bool 只要有这个,不涉及复杂函数基本不需要。所以删除。