sql语句常用功能(null值转换为0)

COALESCE(规格,‘ ‘)

或者

COALESCE(规格,0)

select *
from (
SELECT p2.name_template 产品, p3.pname 材料 ,p3.spec 尺寸,(select c2.name from product_part_info c1 LEFT JOIN res_huo c2 ON c1.hpartner_id=c2.id where p3.id=c1.product_tmpl_id order by c1.id limit 1) 客户,(select khwl_code from product_custo_info where p3.id=product_tmpl_id order by id limit 1) 物料号,p4.name 内部批次,p4.outsidename 外部批次,p1.库存,p5.总库存
FROM (SELECT SUM(qty) 存量,product_id,lot_id
FROM stock_kqty p1
WHERE location_id=${仓}
GROUP BY product_id,lot_id) p1
LEFT JOIN product_code p2 ON p2.id=p1.product_id
LEFT JOIN  product_tep p3 ON p3.id =p2.product_tmpl_id
LEFT JOIN stock_pci_lot p4 ON p4.id=p1.lot_id
LEFT JOIN (SELECT SUM(qty) 总存量,product_id
FROM stock_kqty p1
WHERE location_id=${仓}
GROUP BY product_id
) p5 ON p2.id=p5.product_id
) abc
where (产品 like‘%${产品}%‘ or COALESCE(材料,‘‘) like ‘%${产品}%‘ or COALESCE(尺寸,‘‘) like ‘%${产品}%‘ ) and (客户 like ‘%${客户}%‘ or 客户 is null ) and 库存<>0
;

原文地址:https://www.cnblogs.com/1314520xh/p/8323808.html

时间: 2024-07-30 15:28:10

sql语句常用功能(null值转换为0)的相关文章

mybatis sql语句中 like in() 长度为0或null的情况

mybatis sql语句中 like in() 长度为0或null的情况 比如: select * from A where colName LIKE IN <foreach collection="moCodeList" item="item" index="index" open="(" close=")" separator=","> #{item} </for

Sql与oracle中null值的区别

原贴链接请点击: 1 null值的介绍 NULL 是数据库中特有的数据类型,当一条记录的某个列为 NULL ,则表示这个列的值是未知的.是不确定的.既然是未知的,就有无数种的可能性.因此, NULL 并不是一个确定的值. 这是 NULL 的由来.也是 NULL 的基础,所有和 NULL 相关的操作的结果都可以从 NULL 的概念推导出来. 2 oracle中的null值介绍 在不知道具体有什么数据的时候,即未知,可以用NULL, 称它为空,ORACLE中,含有空值的表列长度为零.允许任何一种数据

SQL语句常用大全

一.基础 1.说明:创建数据库?CREATE DATABASE database-name? 2.说明:删除数据库?drop database dbname? 3.说明:备份sql server? --- 创建 备份数据的 device? USE master?EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' ?--- 开始 备份?BACKUP DATABASE pubs TO testBack ?4

sql求和涉及到null值

SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder 1 computer 699 25 15 2 printer 365 36   3 telephone 280 159 57 假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值. 我们使用如下 SELECT 语句:

SQL 语句常用函数

一.字符转换函数 1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用''括起来,但含其它字符的字符串必须用''括起来使用,否则会出错. 2.CHAR()将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL . 3.LOWER()和UPPER()LOWER()将字符串全部转为小写:UPPER()将字符串全部转为大写. 4.STR()把数值型数据转换为字符型数据.STR (<float_ex

SQL语句--常用

一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创建新表create

SQL 语句中关于 NULL 的那些坑

问题描述 今天在跟进公司内部测试平台线上问题的时候,发现一个忽略已久的问题. 为了简化问题描述,将其进行了抽象. 有一张数据表qms_branch,里面包含了一批形式如下所示的数据: id name types 1 dashboard_trunk dashboard 2 monkey_trunk monkey 3 dashboard_projects_10_9_9 dashboard 4 performance_trunk   5 performance_projects_10_9_8 perf

SQL语句常用优化技巧(一)

要提高SQL语句的执行效率,最常见的方法就是建立索引,以及尽量避免全表扫描.给大家整理一些常见的SQL优化技巧,避免全表扫描.一个简单的优化,也许能让你的SQL执行效率提高几倍,甚至几十倍. 1.避免在where子句中使用 is null 或 is not null 对字段进行判断. 如: select id from table where name is null 在这个查询中,就算我们为 name 字段设置了索引,查询分析器也不会使用,因此查询效率底下.为了避免这样的查询,在数据库设计的时

SQL语句常用优化技巧

提高SQL语句的执行效率,最常见的方法就是建立索引,以及尽量避免全表扫描. ①.避免在where子句中使用 is null 或 is not null 对字段进行判断. 如:select id from table where name is null 在这个查询中,就算我们为 name 字段设置了索引,查询分析器也不会使用,因此查询效率底下.为了避免这样的查询,在数据库设计的时候,尽量将可能会出现 null 值的字段设置默认值,这里如果我们将 name 字段的默认值设置为0,那么我们就可以这样