在SQL Server中利用空白赋予新含义









在赋予新含义的SQL Server中,空白是非常有用的工具。空白不单单可以理解为空白字符,也能够用来代表一种特殊的值。比如,当一个用户没有明确指定一个数据库中具体的值时,便可能使用空白来替换。



下面,让我们看一个具体的例子:



假定孩子的表中有两个字段,一个是儿童的年龄,另外一个字段是未知的性别。为了解决这个问题,我们可使用空白表示“性别未知”。在这类情况下,我们可以利用空白来代替为空的字段值,从而到达“性别未知”的效果。



下面是一个示例,在SQL Server中使用空白赋予新含义:



SELECT * FROM CHILDREN


WHERE



AGE > 5 AND GENDER IS NULL



结果将会显示所有年龄大于5岁且性别未知(用空白表示)的孩子的信息。



另外,在SQL Server中可使用CASE语句来建立空白的新概念:



SELECT * FROM CHILDREN



WHERE AGE > 5



CASE


WHEN GENDER IS NULL THEN ‘blank’


ELSE GENDER



END AS GENDER



结果会显示所有年龄大于5岁的孩子的信息,其中GENDER字段的值将显示为“blank”,代表性别未知。



另外,在SQL Server中也能够用空白来做一些复杂的操作,以下面的示例所示:



SELECT * FROM CHILDREN



WHERE AGE > 5



CASE


WHEN GENDER IS NULL THEN calculations


ELSE JOIN



END



结果会显示所有年龄大于5岁的孩子的信息,当GENDER字段为null时,将会计算出相应的值,否 则将履行查询操作。总而言之,使用空白在SQL Server中可以更有效地赋予新含义,让查询操作更加清晰明了。