随着微软的SQL Server数据库的广泛使用,愈来愈多的开发人员偏向于使用它来构建他们的网络利用程序。在这类情况下,如何优雅地编写判断语句就成了开发人员面临的一个常见困惑。
首先,MSSQL 引入了一些判断语句,例如IF/ELSE。它们可以用来检查数据库内部的条件,如果给定的表达式符合某些条件,则履行特定的操作,否则履行另外一组操作。
在使用 MSSQL 的情况下,当需要比较位置敏感的值(例如字符串)时,优雅的做法是使用形如: UPPER (columnName) = UPPER (‘string’) 的表达式。有时,当子查询嵌套太多时,可使用CASE语句来替换IF/ELSE语句,这使得代码更容易读,更容易于保护。
例如,假定我们需要根据一个地址列表更新我们的数据,如果在列表中,则将其更新为New Address,否则更新为Old Address,我们可使用以下CASE语句来实现这一目标:
UPDATE OurTable SET
Address =
CASE WHEN Address IN (‘Address1’,‘Address2’) THEN ‘New Address’
ELSE ’Old Address’
END
WHERE Id=1
另外,当履行多个条件比较的时候,记得使用关键字AND/OR,以正确的分割条件语句,例如:
SELECT * FROM OurTable
WHERE
(FirstName = ‘Chris’ OR LastName = ‘Smith’)
AND City = ‘New York’
这能够帮助挑选出满足我们的所有目标的行,而不是简单的选择某个条件的结果。
一样的,如果我们想要获得不满足特定条件的行,就能够使用NOT运算符,例如:
SELECT * FROM OurTable
WHERE
FirstName != ‘Chris’
总之,要构建优雅的MSSQL代码只需要少量规则:总是使用UPPER()函数来比较字符串,尽量使用CASE语句嵌套IF/ELSE,和使用AND/OR/NOT的正确方式等。
本文来源:https://www.yuntue.com/post/219485.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏