WEB开发网
开发学院数据库MSSQL Server 避免Access和SQL Server的空值冲突 阅读

避免Access和SQL Server的空值冲突

 2007-05-16 09:33:59 来源:WEB开发网   
核心提示: Nz——遇到空值时,用Nz返回除Null之外的其他值,避免Access和SQL Server的空值冲突(2),以上函数在本质上存在细微差异,Is Null和IsNull捕捉空值;而Nz函数处理空值,相反,如返回空值,换言之,如果想返回的不是实际存储的空值

Nz——遇到空值时,用Nz返回除Null之外的其他值。

以上函数在本质上存在细微差异。Is Null和IsNull捕捉空值;而Nz函数处理空值。换言之,如果想返回的不是实际存储的空值,就使用Nz。例如,你可显示一个简单字符串(例如"N/A"),让用户知道数据对于当前记录来说“不可用”。另外,当空值在表达式中使用之前,你可以捕捉空值,因为空值经常会返回错误。

通过链接表或者Access项目来使用Access和SQL Server时,会产生一个问题,因为Access和SQL Server不是用相同的函数来判断空值。因此,你必须知道要使用什么函数,以及在什么时候使用。

在.mdb文件中使用Nz

大多数Access用户和开发者都熟悉Nz函数,它在遇到空值时返回除空值之外的其他值。该函数的形式如下,其中variant代表Variant数据类型,而valueifnull是一个可选参数,它负责在variant为空值时提供真正的返回值。

Nz(variant[, valueifnull])

如省略valueifnull,Nz返回值0或一个零长度字符串(""),具体由variant的数据类型决定。

图A的查询展示了如何使用Nz及其结果。该查询基于Access示例数据库Northwind中的Employees表。

图A

两个Nz函数都返回字符串数据类型,因为Region的数据类型为Text

如图B所示,两个Nz函数都返回字符串值,而不是空值,但具体的字符串是不同的。第一个表达式返回字符串"N/A"来取代空值:

WithOptional: Nz([Region],"N/A")

通过返回一个实际的字符串或者值,可为用户提供比空值更多的信息。字符串"N/A"明确指出:当前记录没有合适的值。相反,如返回空值,那么一个空白的字段可能使不熟悉的用户产生误解。

上一页  1 2 3 4  下一页

Tags:避免 Access SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接