首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有条件地引用Oracle APEX中的复选框值

有条件地引用Oracle APEX中的复选框值
EN

Stack Overflow用户
提问于 2020-09-08 13:14:30
回答 2查看 44关注 0票数 0
代码语言:javascript
复制
CASE
  WHEN :P6_TASK3_DEP = 'Task 2' 
   AND :P6_T3_STARTDATE < :P6_T2_DUEDATE 
  THEN
   :P6_T3_STARTDATE = :P6_T2_DUEDATE
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND :P6_T3_STARTDATE < :P6_T1_DUEDATE 
  THEN
   :P6_T1_DUEDATE
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND :P6_TASK3_DEP = 'Task 2' 
   AND :P6_T2_DUEDATE > :P6_T1_DUEDATE 
  THEN
   :P6_T2_DUEDATE
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND :P6_TASK3_DEP = 'Task 2' 
   AND :P6_T2_DUEDATE < :P6_T1_DUEDATE 
  THEN
   :P6_T1_DUEDATE
  ELSE
   'Not Working ' || :P6_T3_STARTDATE
 END

我这里有一条语句,试图有条件地引用复选框(Task 1,Task 2)中的值。每次我都会用到the语句,而且我似乎不知道如何正确引用复选框中的值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-08 13:51:03

在不知道会话中页面项的实际值的情况下,这是猜测,但我想尝试一下:

代码语言:javascript
复制
CASE
  WHEN :P6_TASK3_DEP = 'Task 2' 
   AND TO_DATE(:P6_T3_STARTDATE,'DD-MON-YYYY') < TO_DATE(:P6_T2_DUEDATE ,'DD-MON-YYYY')
  THEN
   'boolean_here'
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND TO_DATE(:P6_T3_STARTDATE,'DD-MON-YYYY') < TO_DATE(:P6_T1_DUEDATE,'DD-MON-YYYY') 
  THEN
   :P6_T1_DUEDATE
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND :P6_TASK3_DEP = 'Task 2' 
   AND TO_DATE(:P6_T2_DUEDATE,'DD-MON-YYYY') > TO_DATE(:P6_T1_DUEDATE,'DD-MON-YYYY') 
  THEN
   :P6_T2_DUEDATE
  WHEN :P6_TASK3_DEP = 'Task 1' 
   AND :P6_TASK3_DEP = 'Task 2' 
   AND TO_DATE(:P6_T2_DUEDATE,'DD-MON-YYYY') < TO_DATE(:P6_T1_DUEDATE,'DD-MON-YYYY') 
  THEN
   :P6_T1_DUEDATE
  ELSE
   'Not Working ' || :P6_T3_STARTDATE
 END

顶点中的所有页面项都被认为是pl/sql中的字符串,因此,如果要进行日期比较,就必须告诉db您正在比较日期,而不是字符串。你可以通过做一个TO_DATE来做到这一点。我以为您的日期格式掩码是‘DD-MON’,但如果不是,您应该将其更改为您自己的日期格式掩码。

第一个THEN子句包含一个操作符,正如@Barbaros指出的那样,因此我将其替换为‘boolean’。

票数 1
EN

Stack Overflow用户

发布于 2020-09-08 13:38:15

因为您需要CASE..WHEN语句中的布尔表达式。

本部分

代码语言:javascript
复制
 WHEN :P6_TASK3_DEP = 'Task 2' AND :P6_T3_STARTDATE < :P6_T2_DUEDATE THEN
           :P6_T3_STARTDATE = :P6_T2_DUEDATE

它违反了此规则,它是一个辅助,而不是一个布尔表达式。可能被转换成

代码语言:javascript
复制
WHEN :P6_TASK3_DEP = 'Task 2' AND :P6_T3_STARTDATE < :P6_T2_DUEDATE THEN
          :P6_T2_DUEDATE

而不是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63794727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档