sql 实现将空白值替换为其他值
下图中数据库中查询到的值有空值,包括空白值(“”)和null
如何将上图中的null和空白值替换为其他的值呢??
有人建议使用isnull()函数,但是该函数只能替换null无法替换空白的值。
可以使用下面的sql 语句对null和空白值都替换为其他的值。
select (CASE when (TelPhone IS NULL OR TelPhone='') then '暂无' else TelPhone end) as TelPhone,(CASE when (Name is null or Name='') then '暂无' else Name end) as name,(CASE when (CreateDate IS NULL OR CreateDate='') then '暂无' else CreateDate end) as CreateDate,(CASE when ([Address] IS NULL OR [Address]='') then '暂无' else [Address] end) as [Address] from User_Detail
执行sql语句后效果如下:
上图中我们可以看到所有的null和空白值都替换为了“暂无”。
补充:SQL查询时替换空值
目前我所知道的有三种方法:
1. 使用if语句
select if(age is null,18,age) from student
2. 使用函数:
2.1 isnull
SELECT isnull(age,18) from Student
2.2 coalesce
select coalesce(age,18) from student
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
postgresql coalesce函数数据转换方式
oracle 的NVL(col,0)是判断如果col字段为空的时候赋值0,同样的postgresql中的函数就是coalesce,用法是一样的 SELECT coalesce(collect_result,value) as collect_result FROM collect 数据库中如果查询的字段collect_result为空那么赋值value给collect_result. 补充:postgresql coalesce字段为空时赋一个固定值,等同oracle的nvl 字段为空时赋一个固
-
postgresql 中的COALESCE()函数使用小技巧
场景: 存在一个用户白名单表,提供了此用户的用户名和地区信息,判断此用户是否在此白名单表中. 如: 姓名 白名单地区 张三 中国,美国 则可使用如下语句: SELECT ID, user, area_list FROM t_white_user WHERE user = #{ user, jdbcType = VARCHAR } AND ( COALESCE (area_list, '') LIKE CONCAT ( '%' ,#{ country, jdbcType = VARCHAR },
-
PostgreSQL 禁用全表扫描的实现
PostgreSQL可以通过一些设置来禁用全表扫描(FULL SCAN/Seq Scan) 注意: 设置此功能后不是完全避免全表扫描,而是只要有不通过全表扫描能得出结果的就不走全表扫描. 如果什么路都不通,那肯定得全表扫描,不然怎么获取数据. 而且并不是不走全表扫描性能就一定好. 下面展示下这个功能: 查询表结构: highgo=# \d test Table test Column | Type | Modifiers -------------+-----------------------
-
postgresql 实现将字段为空的值替换为指定值
1.null 表示缺失的值, '' " "表示空值 null 参与的表达式运算都返回null 使用is null 判断是null is not null 判断非null 2.nullif(value1, value2) 如果value1 == value2 返回null 3.coalesce(arg1, arg2, ...) 返回第一个 不为null的值 所以可以使用如下语句,实现将table中filed为空的记录替换为指定值 update table set filed = COAL
-
解决PostgreSQL Array使用中的一些小问题
在PostgreSQL 中可以使用Array数据结构,例如 select array[1,2,3]; return {1,2,3} 但是,如果 select array[1,2,3][1]; --会报错 select (select array[1,2,3])[1] --可以使用 那么在用正则匹配函数 regexp_match 就会遇到这样的问题,如 select regexp_match('123-123', '(\d+)-(\d+)'); --return {123, 123} select
-
postgresql 实现修改jsonb字段中的某一个值
我就废话不多说了,大家还是直接看代码吧~ UPDATE tablename SET tags = jsonb_set(tags-'landuse_area', '{landuse_area}',('"' || round((ST_Area(ST_Transform(geom,4527)) * 0.0015) :: NUMERIC,3) || '"')::jsonb, TRUE) WHERE tags @> '{"name":"张三"}';
-
postgresql 中的 like 查询优化方案
当时数量量比较庞大的时候,做模糊查询效率很慢,为了优化查询效率,尝试如下方法做效率对比 一.对比情况说明: 1.数据量100w条数据 2.执行sql 二.对比结果 explain analyze SELECT c_patent, c_applyissno, d_applyissdate, d_applydate, c_patenttype_dimn, c_newlawstatus, c_abstract FROM public.t_knowl_patent_zlxx_temp WHERE c_a
-
SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)
问题发生 我们公司代码生成的时候,查询列表统一都是使用了setEntity() ,查询写法如下: public List<BasReservoirArea> selectList(BasReservoirArea basReservoirArea) { QueryWrapper<BasReservoirArea> where = new QueryWrapper<>(); where.setEntity(basReservoirArea); return baseMap
-
sql 实现将空白值替换为其他值
下图中数据库中查询到的值有空值,包括空白值("")和null 如何将上图中的null和空白值替换为其他的值呢?? 有人建议使用isnull()函数,但是该函数只能替换null无法替换空白的值. 可以使用下面的sql 语句对null和空白值都替换为其他的值. select (CASE when (TelPhone IS NULL OR TelPhone='') then '暂无' else TelPhone end) as TelPhone,(CASE when (Name is nul
-
SQL SERVER使用REPLACE将某一列字段中的某个值替换为其他的值
SQL SERVER将某一列字段中的某个值替换为其他的值 update 表名 set 列名 = REPLACE( 列名 ,'aa','bb') SQL SERVER"函数 replace 的参数 1 的数据类型 ntext 无效"解决办法 UPDATE 表名 SET 列名= REPLACE(CAST 列名 AS varchar(8000)),'aa','bb')
-
解决mybatis查询结果为null时,值被默认值替换问题
目录 查询结果为null时,值被默认值替换 问题原因 解决办法 mybatis查询结果处理 处理核心流程 返回类型处理ResultHandler 字段类型处理TypeHandler 查询结果为null时,值被默认值替换 问题:pojo种设置了一个默认值,当此字段查询结果为空时,字段值变成了默认值0,经过排查发现,mybatis在赋值时并没有调用set方法赋值,而是直接调用get方法,取了默认值 问题原因 原因是因为mybatis在给map赋值时,如果返回值不是基本数据类型,且返回值为null,就
-
SQL Server中利用正则表达式替换字符串的方法
建立正则替换函数,利用了OLE对象,以下是函数代码: --如果存在则删除原有函数 IF OBJECT_ID(N'dbo.RegexReplace') IS NOT NULL DROP FUNCTION dbo.RegexReplace GO --开始创建正则替换函数 CREATE FUNCTION dbo.RegexReplace ( @string VARCHAR(MAX), --被替换的字符串 @pattern VARCHAR(255), --替换模板 @replacestr VARCHAR
-
Go语言多值替换的HTML模板实例分析
本文实例分析了Go语言多值替换的HTML模板用法.分享给大家供大家参考.具体如下: 这里通过两种方式提供基于HTML模板的多变量值替换.另外附加一个数组迭代的示例. 传入map实现多值替换 复制代码 代码如下: package main import ( "html/template" "os" ) func main() { t, _ := template.New("demo").Parse(`{{define "T"
-
pandas值替换方法
如下所示: import pandas as pd from pandas import * import numpy as np data = Series([1,-999,2,-999,-1000,3]) print(data.replace(-999,np.nan)) print(data.replace([-999,-1000],np.nan)) print(data.replace([-999,-1000],[np.nan,0])) print(data.replace({-999:n
-
springboot中JSONObject遍历并替换部分json值
使用场景 如何修改JSONObject 的值,如何替换json中的部分内容,比如检查报告我们再数据库存的是json格式的字符串varchar,然后前端传来确认更新报告的json,后台接口需要将前端传来的json里面的内容更新到后台数据库(当然,前端传来的不一定是完整的字符串,可能是一个,两个,总之只是部分不是全部).这个时候就需要使用这个方案了. 代码展示 @PutMapping("/result/{checkNum}") public ApiReturnObject update(@
-
如何将numpy二维数组中的np.nan值替换为指定的值
基础知识: (1)np.nan表示该值不是一个数,比如数据中收入.年龄的缺失值:np.inf表示无穷大 (2)np.nan == np.nan 的结果为False (3)nan与任何数的操作结果均为nan,例如sum((np.nan,4)) 的结果为nan (4)一个ndarray数组t1,可以用np.isnan(t1) 定位到nan值的位置,再用t1[np.isnan(t1)] = 指定值 将nan替换为指定值 (5)np.nan_to_num(t1),可以将t1中的nan替换为0 (6)t1
-
避坑:Sql中 in 和not in中有null值的情况说明
目录 Sql中in和not in中有null值的情况 1.not in 中包含null值的情况 2.in 中包含null值的情况 mysql有默认值但是仍然插入null问题 Sql中in和not in中有null值的情况 1)in的逻辑规则是or not in 的逻辑规则是 and 2)判断null 的sql语句为 is not null 或者 is null 3)当遇到 null = null 的判断是时由于不符合null的判断规则,所以结果一定为flase 1.not in 中包含null值
随机推荐
- vue.js实现条件渲染的实例代码
- Vue.js 插件开发详解
- win2003系统服务及优化建议
- 学习JavaScript设计模式(封装)
- php防止网站被刷新的方法汇总
- PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
- C#微信小程序服务端获取用户解密信息实例代码
- 基于JavaScript实现移动端点击图片查看大图点击大图隐藏
- Thinkphp5微信小程序获取用户信息接口的实例详解
- node.js+jQuery实现用户登录注册AJAX交互
- 纯PHP生成的一个树叶图片画图例子
- 在Python的Flask框架下收发电子邮件的教程
- Shell脚本编写Nagios插件监控程序资源占用
- VBS教程:正则表达式简介 -优先权顺序
- 5 cool javascript apps
- jQuery EasyUI API 中文文档 - ComboGrid 组合表格
- jquery remove方法应用详解
- Windows Me光盘启动安装过程
- Java编程实现比对两个文本文件并标记相同与不同之处的方法
- 使用PHPMailer发送邮件实例