亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 Oracle NVl 查詢轉換為條件查詢

將 Oracle NVl 查詢轉換為條件查詢

斯蒂芬大帝 2022-03-10 21:38:31
有什么方法可以將此 Oracle 查詢轉換為條件查詢。SELECT * FROM T_MERCHANT_ORDER_DETAILS where MERCHANT_ID = in_merchantId and ORDER_ID= nvl(in_orderId,ORER_ID) and TRANSACTION_ID=nvl(in_txnId,TRANSACTION_ID); in_merchantId 和 in_orderId 是傳遞給 oracle 過程的變量。我可以在 Hibernate 中執行此操作嗎?注意::: 如果 orderId 和 txnId 為 null,則返回基于 MercerId 的結果集,如果只有 txnId 為 null,則返回基于 MercerId 和 orderId 的結果集,如果沒有一個為 null,則返回所有三個。提前致謝。
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

我這樣做是為了讓它工作。


if(orderId==null && transactionId ==null) {

        criteria.select(root).where(builder.equal(root.get("merchantId"),merchantId));

    }

    else if(transactionId==null && orderId!=null) {

        criteria.select(root).where(builder.equal(root.get("merchantId"),merchantId),builder.equal(root.get("orderId"),orderId));

    }

    else {

        criteria.select(root).where(builder.equal(root.get("merchantId"),merchantId),builder.equal(root.get("transactionId"),transactionId));

    }

但我認為可以用更好的代碼來完成。


查看完整回答
反對 回復 2022-03-10
  • 1 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號