如果在T-SQL中记录为NULL,如何替换字符串
发布时间:2020-05-30 14:44:56 所属栏目:MsSql 来源:互联网
导读:我正在撰写一份T-SQL报告,显示不同客户处于不同状态的帐户数量.报告结果如下: Customer1 NoService 7Customer1 IncompleteOrder 13Customer1 NULL 9Customer2 NoService 12Customer2 Available
|
我正在撰写一份T-SQL报告,显示不同客户处于不同状态的帐户数量.报告结果如下: Customer1 NoService 7 Customer1 IncompleteOrder 13 Customer1 NULL 9 Customer2 NoService 12 Customer2 Available 19 Customer2 NULL 3 ... ‘NULL’状态是有效数据,但我想显示“Pending”而不是显示NULL.到目前为止,这是我的SQL: USE cdwCSP;
SELECT
sr.sales_region_name AS SalesRegion,micv.value,COUNT(sr.sales_region_name)
FROM prospect p
LEFT JOIN sales_region sr
ON p.salesRegionId = sr.sales_region_number
LEFT JOIN prospectOrder po
ON po.prospectId = p.prospectId
LEFT JOIN wo
ON wo.prospectId = p.prospectId
LEFT JOIN woTray wot
ON wot.woId = wo.woId
LEFT JOIN miscInformationCustomerCategory micc
ON micc.prospectId = p.prospectId
LEFT JOIN miscInformationCustomerValues micv
ON micv.miscInformationCustomerCategoryId = micc.miscInformationCustomerCategoryId
LEFT JOIN miscInformationCategory mic
ON micc.miscInformationCategoryId = mic.miscInformationCategoryId
WHERE wot.dateOut IS NULL
AND mic.categoryName LIKE '%Serviceability%'
GROUP BY sr.sales_region_name,micv.value
ORDER BY sr.sales_region_name,micv.value;
任何帮助将不胜感激,我仍然在学习T-SQL,所以这可能是一个容易回答的问题. 解决方法您可以使用COALESCE或ISNULL.前者是标准的并返回第一个NOT NULL参数(如果所有参数都为NULL,则返回NULL)
SELECT COALESCE(micv.value,'Pending') as value ISNULL仅限于2个参数,但如果要测试的第一个值很昂贵(例如子查询),则SQL Server中的效率更高. ISNULL要注意的一个潜在“问题”是它返回第一个参数的数据类型,因此如果要替换的字符串比列数据类型允许的话,则需要进行强制转换. 例如. CREATE TABLE T(C VARCHAR(3) NULL); INSERT T VALUES (NULL); SELECT ISNULL(C,'Unknown') FROM T 将返回Unk 但ISNULL(CAST(C as VARCHAR(7)),’Unknown’)或COALESCE都可以按预期工作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – ORDER BY和ROW_NUMBER()是否确定?
- SQL Server 2008中的所有列名称如何使用ISNULL?
- sql-server – 如果我使用Linq,是否必须手动关闭SQL连接?
- SQL Server 2008图文安装教程
- sql-server – 具有多个输出参数的SQL Server 2008存储过程
- MSSQL存储过程学习笔记一 关于存储过程
- 数据库 – 有没有办法在SQLite中存储一个(唯一)数据元素?
- sql-server-2005 – Sql Server数据透视表不分组结果集
- ASP.NET2.0数据库入门之SQL Server
- sql – 使用SSIS导入/导出向导在数字列中保留NULL?
