我想为 Oracle Apex 19.2 表单中的日期列指定特定格式,以限制用户以特定格式输入数据。例如,我希望表单的此查询有效:
Select phone_no, call_date, to_char(call_time, 'HH12:MI:SS AM')
FROM called_no;
注意:call_date
和call_time
具有相同的数据类型,即date
. 我只有call_time
专栏的问题。
我想为 Oracle Apex 19.2 表单中的日期列指定特定格式,以限制用户以特定格式输入数据。例如,我希望表单的此查询有效:
Select phone_no, call_date, to_char(call_time, 'HH12:MI:SS AM')
FROM called_no;
注意:call_date
和call_time
具有相同的数据类型,即date
. 我只有call_time
专栏的问题。
好吧,call_time
项目的格式掩码将如您所说:hh12:mi:ss am
.
如果你还没有这样做,那就去做吧。如果你这样做了,你有什么问题?
但是,从我的角度来看,你做错了 - 你应该只使用一列:call_date
它的数据类型是date
,并在 Apex 中“按原样”使用它。它(项目)将接受所需格式的完整日期和时间,例如dd.mm.yyyy hh12:mi:ss am
.
因为,如果您使用两个列/项目,您会遇到一个问题,即call_time
列的日期组件将是错误的。看一看:
SQL> alter session set nls_date_Format = 'dd.mm.yyyy hh12:mi:ss am';
Session altered.
SQL> select sysdate,
2 to_date('05:33:12', 'hh12:mi:ss pm') right_now
3 from dual;
SYSDATE RIGHT_NOW
---------------------- ----------------------
22.12.2021 05:34:19 PM 01.12.2021 05:33:12 AM
----- -----
today see this? Date component is truncated to 1st of current month
插图: