PostgreSql使用中遇到的问题:持续更新
注意:pq中null和空字符串是完全没啥关系的。如果要判断字段是否有值,在不确定是null或者是空字符串时,就用length(field)>0
1.如果ddl中定义的字段名是大写的,那么查询字段名就要带""
eg:
SELECT
"LegalOrgID",
"PID",
"LegalOrgSName"
FROM
**** t
2.如果查的字段名想要起驼峰式命名。那么就必须加双引号
eg:
3. coalesce(null,2)只能过滤null不能过滤空字符串 (coalesce函数里边的数据类型必须一直。像这种SELECT COALESCE( '', '2', 2 );会报错)
eg:
4. COALESCE ( field, CURRENT_TIMESTAMP)会报错:COALESCE types integer and timestamp with time zone cannot be matched
解决办法:要么用case when 要么不带时区 COALESCE ( field, CURRENT_TIMESTAMP :: TIMESTAMP WITHOUT TIME ZONE )
注意 case when 时 CURRENT_TIMESTAMP要写后边,要不然会报错 CASE WHEN field IS NULL THEN CURRENT_TIMESTAMP ELSE first_warn_push_time END; 这样会报错。要把CURRENT_TIMESTAMP写到ELSE后边
标签:PostgreSql,遇到,TIMESTAMP,CURRENT,field,COALESCE,报错,使用,null From: https://www.cnblogs.com/zbzdqsmh/p/16824213.html