Sqlserver 知识巩固
发布时间:2020-12-12 13:28:40 所属栏目:MsSql教程 来源:网络整理
导读:一.替换 ?Null 值 1.COALESCE (expression_1,expression_2,...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。 在下面的示例中
一.替换?Null 值 1.COALESCE (expression_1,expression_2,...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。 在下面的示例中,显示包含三列有关某个雇员每年工资收入信息的 wages 表:hourly_wage、salary 和 commission。但是,每个雇员只能接受一种付款方式。若要确定支付给所有雇员的工资总额,请使用 COALESCE 函数接受在 hourly_wage、salary 和 commission 中找到的非空值。
SELECT CAST(COALESCE(hourly_wage * 40 * 52,salary,commission * num_sales) AS money) AS 'Total Salary' FROM wages 2.ISNULL使用 SELECT E.Name AS Employee,ISNULL(M.Name,'NO MANAGER') AS Manager FROM EMP E LEFT JOIN EMP M ON E.EmployeeID = M.ManagerID 3.使用CASE ...WHEN... SELECT E.Name AS Employee,CASE WHEN M.Name IS NULL THEN 'NO MANAGER' ELSE M.Name END AS Manager FROM EMP E LEFT JOIN EMP M ON E.EmployeeID = M.ManagerID 二.重置主键Identity USE demoDB GO DBCC CHECKIDENT('tblEmployee',RESEED,0) 三.?SQL Server中的Merge use AllCityData Merge into StudentTarget as T Using StudentSource as S On T.Id = S.Id When Matched Then Update Set T.Name = S.Name When Not Matched Then --目标表中没有的ID,在原表中有,则插入相关数据 Insert (Id,Name )values(S.Id,S.Name) When Not Matched By Source Then --目标表中存在,源表中不存在,则删除 Delete; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |