如何使用动态 PL/SQL 查询获取
dd/mm/yyyy
中的日期格式..?
我尝试了很多选择,但没有任何效果。任何人都可以建议正确的方法以以下格式获取出生日期(
dd/mm/yyyy
)
V_DYNAMICSQL := 'select to_char(a.dat_of_birth)
from genmst_customer a'
Execute immediate v_dynamicsql;
to_char
本身是不够的 - 您还应该提供格式模型。
样本表:
SQL> desc genmst_customer
Name Null? Type
----------------------------------------- -------- ----------------------------
ENAME VARCHAR2(10)
DAT_OF_BIRTH DATE
SQL> select * from genmst_customer;
ENAME DAT_OF_BI
---------- ---------
CLARK 09-JUN-81
KING 17-NOV-81
MILLER 23-JAN-82
PL/SQL程序;注意第 5 行中的格式模型。我只获取一行:
SQL> set serveroutput on
SQL> declare
2 v_dynamicsql varchar2(500);
3 result varchar2(20);
4 begin
5 v_dynamicsql := q'[select to_char(a.dat_of_birth, 'dd/mm/yyyy')]' ||
6 ' from genmst_customer a where rownum = 1';
7 execute immediate v_dynamicsql into result;
8 dbms_output.put_line('Result = ' || result);
9 end;
10 /
Result = 09/06/1981
PL/SQL procedure successfully completed.
SQL>