关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »避免Access和SQL Server的空值冲突

    避免Access和SQL Server的空值冲突

    2015-11-29 00:00:00 出处:ITJS
    分享

    在链接到一个SQL Server数据库的Access项目(即.adp文件)中,你平时经常使用的Access函数通常是不支持的。但大多数时候,都可换用SQL Server支持的一个Transact-SQL(T-SQL)函数。一个特例是Access的空值(Null)函数Nz和IsNull;它们的功能相似,但并不是Access和T-SQL都能支持它们。本文要讨论在什么时候以及如何使用这两个函数来处理空值。

    空值的重要性

    空值是完全合法的数据库录入项,它们能提供的信息可能超过你的想象。空值指明一个值是未知的,但这并不是说该值不可接受或者不存在。空值表明一个值尚未确定,而且除非确定了合适的值,否则该值将保持未知状态,也就是为一个空值。

    开发者的职责是判断空值可能在什么时候出现,并针对性地处理那些值。一个方案是在数据输入时拒绝空值,从而完全回避它们。但这样一来,你的数据将完全禁止空值,所以该方案的缺点在于,在你创建一条记录时,所有数据都必须是已知的。遗憾的是,对于大多数人来说,这个方案都不现实。以医院急诊室的数据库系统为例,是不是因为数据录入员不知道一个病人的中间名,就拒绝为其创建一条记录呢?所以,对空值进行妥善处理可提供更灵活的方案,因为即使数据录入员当时不知道所有数据,也能成功地创建记录。

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

    Nz(variant[, valueifnull])

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

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

    WithoutOptional: Nz([Region])

    RegionString: IIf([Region]="","N/A",[Region])

    WithoutOptionalString: IIf([WithoutOptional]="","N/A",[WithoutOptional])

    IsNull(expression, valueifnull)

    IsNull(Region, 'N/A')
    结果与图B相同(在WithOptional字段中)。

    图F

    在Access项目中用IsNull代替Nz
    避免空值错误

    Access和SQL Server用不同的函数来处理空值(分别是Nz和IsNull)。正确处理空值可防止数据库出现运行时错误和生成无效数据。不要回避空值,只需正确地处理它们。


    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    Destoon 模板存放规则及语法参考

    Destoon系统常量与变量

    Destoon系统目录文件结构说明

    Destoon 系统安装指南

    Destoon会员公司主页模板风格添加方法

    Destoon 二次开发入门

    Microsoft 将于 2026 年 10 月终止对 Windows 11 SE 的支持

    Windows 11 存储感知如何设置?了解Windows 11 存储感知开启的好处

    Windows 11 24H2 更新灾难:系统升级了,SSD固态盘不见了...

    小米路由器买哪款?Miwifi热门路由器型号对比分析

    IT头条

    Synology 对 Office 套件进行重大 AI 更新,增强私有云的生产力和安全性

    01:43

    StorONE 的高效平台将 Storage Guardian 数据中心占用空间减少 80%

    11:03

    年赚千亿的印度能源巨头Nayara 云服务瘫痪,被微软卡了一下脖子

    12:54

    国产6nm GPU新突破!砺算科技官宣:自研TrueGPU架构7月26日发布

    01:57

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    技术热点

    最全面的前端开发指南

    Windows7任务栏桌面下角的一些正在运行的图标不见了

    sql server快速删除记录方法

    SQL Server 7移动数据的6种方法

    SQL Server 2008的新压缩特性

    每个Java程序员必须知道的5个JVM命令行标志

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。