• SSIS中对空值的处理


    1、准备

       1.1 建立目标数据库UserA:注意sex的默认值是“男”;

    USE [YZSY]
    GO
    /****** Object:  Table [dbo].[TUser]    Script Date: 2017/2/12 16:41:38 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[TUserA](
        [name] [nvarchar](50) NULL,
        [sex] [nvarchar](50) NULL
    ) ON [PRIMARY]
    
    GO
    ALTER TABLE [dbo].[TUserA] ADD  CONSTRAINT [DF_TUser_sex]  DEFAULT (N'') FOR [sex]
    GO

      1.2 构建源数据库User:且插入一个NULL值!  

     insert into [YZSY].[dbo].[TUser] values('张三',NULL)

       1.3 源数据库中真实数据

     

    2、通过SSIS进行数据抽取

       2.1  源编辑器设置:使用数据访问方式为:表或视图        

        2.2 目标编辑器设置:

           2.2.1 使用数据访问模式:表或视图

             2.2.2 执行包任务,抽取数据:此时我们看到抽取的数据结果源表中数据一样,但是,不要忘记了,目标数据表中对性别是有默认值的;尽管,源表张三的性别是NULL值(属于数据不完整,或者数据错误),但是我们ETL之后希望将这个问题解决,将张三的性别按照目标数据库的默认的值设置“男”,怎么做?   

          2.3 目标编辑器设置:

             2.3.1 使用数据访问模式:表或视图-快速加载 

          2.3.2、执行包,查看结果表内容:当然如果我们勾选“保留NULL”;系统还是会将NULL保留的。

     注意:使用“表或视图-快速加载”的方式,是对目标数据库进行的设置,对于源数据是没有作用的。

  • 相关阅读:
    Python菜鸟之路:Python基础-线程、进程、协程
    Python菜鸟之路:Python基础-Socket编程-2
    Python菜鸟之路:Python基础-Socket基础-1
    react-native 使用 antd-mobile-rn UI进行开发app
    Java基础
    Java基础
    Java基础
    Java基础
    Java基础
    Java基础
  • 原文地址:https://www.cnblogs.com/java-oracle/p/6391432.html
Copyright © 2020-2023  润新知