關于在存儲過程中SQL中的條件選擇

本文介绍了一个具体的SQL查询案例,展示了如何从多个表中联接数据,并使用ISNULL和NULLIF函数来处理查询条件中的空值情况。

  Select  FT_RedemTx.TxNo                --交易單號
         ,FT_RedemTx.FT_FundID           --基金代碼
         ,FT_Fund.FT_FundSHName          --基金名稱
         ,FT_RedemTx.FT_CompanyID        --基金公司代碼
         ,FT_Company.FT_CompanySHName    --基金公司名稱
         ,GP_Branch.BranchID             --分公司代碼
         ,GP_Branch.BranchName           --分公司名稱
         ,FT_RedemTx.CustomerID          --專戶帳號
         ,OT_TrustAccount.IDNo           --身分證字號/統編
         ,OT_TrustAccount.CustomerName   --客戶姓名
         ,FT_RedemTx.TxQty               --贖回單位數
         ,FT_RedemTx.TxCondition         --交易狀態
    From FT_RedemTx  FT_RedemTx
    Left Join OT_TrustAccount  OT_TrustAccount
    On OT_TrustAccount.CustomerID=FT_RedemTx.CustomerID
    Left Join FT_Fund FT_Fund
    On FT_Fund.FT_FundID=FT_RedemTx.FT_FundID
    Left Join GP_Branch GP_Branch
    On GP_Branch.BranchID=OT_TrustAccount.BranchID
    Left Join FT_Company FT_Company
    On FT_Company.FT_CompanyID=FT_RedemTx.FT_CompanyID
 主要用到Nullif方法:當前面值不為後面什時,則代入第一個參數,如@strTxDateS不為空,則代入值@strTxDateS,若為空則代後後面的

Isnull當第一個參數為空時,則代入第二個參數若不為空則代入第一個參數.當代入的參數是條件本身字段時,則條件無效
    Where FT_RedemTx.TxDate between   Isnull(Nullif(@strTxDateS,''),FT_RedemTx.TxDate)  And Isnull(Nullif(@strTxDateE,''),FT_RedemTx.TxDate)
    And GP_Branch.BranchID=Isnull(Nullif(@strBranchID,''),GP_Branch.BranchID )
    And FT_RedemTx.FT_CompanyID=Isnull(Nullif(@strFT_CompanyID,''),FT_RedemTx.FT_CompanyID )
    And FT_RedemTx.TxCondition=Isnull(Nullif(@strTxCondition,''),FT_RedemTx.TxCondition)
    And FT_RedemTx.TxCurrencyType=Isnull(Nullif(@strTxCurrencyType,''),FT_RedemTx.TxCurrencyType)

转载于:https://www.cnblogs.com/yyed/archive/2009/01/06/1370355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值