Mysql入门系列:Perl DBI基础(2)
2006-12-31 10:49:46 来源:WEB开发网核心提示: 5. 检查NULL 值从数据库中检索数据时,可能需要区分值为NULL 、为0 或者为空字符串的列,Mysql入门系列:Perl DBI基础(2)(5),因为DBI 返回NULL 列值作为un d e f,所以这种区分是容易的,在插入或者选择含有引号、反斜杠或二进制数据的值时,在SQL 中也
5. 检查NULL 值
从数据库中检索数据时,可能需要区分值为NULL 、为0 或者为空字符串的列。因为DBI 返回NULL 列值作为un d e f,所以这种区分是容易的。然而,必须确保使用正确的测试。如果试用下面的代码段,则它所有三次显示都为“ f a l s e !”:
而且,对于这两个测试,这段代码都显示“ f a l s e !”:
下面这段代码效果相同:
要想区分NULL 列值和非NULL 列值,则使用defined( )。知道了没有出现NULL 值之后,使用适当的测试可以在其他类型值之间加以区分。例如:
以适当的次序完成这些测试是很重要的,因为如果$col_val 为空字符串,则第二个和第三个比较就都为真。如果颠倒比较的次序,则会错误地将空字符串标识为0。
引用问题
迄今为止,我们已经利用引用字符串以最基本的方式构造了查询。在引用的字符串含有引用值时,会在Perl 词汇一级产生问题。在插入或者选择含有引号、反斜杠或二进制数据的值时,在SQL 中也可能出问题。如果指定一个查询作为Perl 引用的字符串,则必须避免在查询字符串本身中出现引用字符:
更多精彩
赞助商链接