Returning Date in a Cursor.

I have a SQL select which will get 'dates' stored in table (field defined as 'date' in table).
Which one is a valid statement below?
Select TO_DATE(start_date, 'MM/DD/YYYY') from table;
Or
Select TO_DATE(TO_CHAR(start_date,'MM/DD/YYYY'), 'MM/DD/YYYY') from table;
Or
Select start_date from table;
Note: I am returning these date to the aspx page in a Cursor (query returns more than one date)

If you expect date in aspx then you can use last query, if you expect string use
-- you can specify your own date format instead of YYYYMMDD
SELECT TO_CHAR(start_date, 'YYYYMMDD') FROM table;
SeshuGiri wrote:Select TO_DATE(start_date, 'MM/DD/YYYY') from table;It's unnecessary converting date into date...
SeshuGiri wrote:
Select TO_DATE(TO_CHAR(start_date,'MM/DD/YYYY'), 'MM/DD/YYYY') from table;Date is just date, format depends on your NLS settings, converting date into char and then char into date gives you nothing...
Edited by: Łukasz Mastalerz on Oct 9, 2008 6:40 PM

Similar Messages

  • Using CRUD procedures to update data and ref cursors to return data

    Hi:
    I am currently evaluating Apex 3.x to replace an existing app that uses lots of procedures to update and return data.
    1. Is it possible to return data from a function that returns a cursor (or from a procedure that has an input/output ref cursor parameter for that matter) ? Example: Let's say I have the following function in a package:
    function get_data return sys_refcursor
    is
    l_cursor sys_refcursor;
    begin
    open l_cursor for select sysdate as field from sys.dual;
    return l_cursor;
    end;
    Can I add a page with a table that is populated based on this function? Based on my research it is not possible, but I want an APEX expert to confirm it
    2. The old application uses CRUD procedures to update date, that is for each table there are 3 procedures, insert update and delete. Question: is it possible to channel all the update, inserts and deletes through these procedures? Furthermore, in lots of cases I use sequences to populate the primary keys, and the new value is returned as output parameter. Can I retrieve the output value and use it maybe in the next page I am branching to?
    In the samples that I've seen the same form is used for insert and update. How do I distinguish between the two modes?
    3. Can you please point me to some samples that show how to do 1 & 2. The standard samples that I've seen use the automatic row processing.
    4. Could you please recommend some good books about Apex or HTML db? I found the documentation unintuitive. It is hard to picture quickly how things tie together by reading this documention. I wish the documentation was more task oriented and presented 'how to...' implement generic patterns used in web apps.
    Thank you in advance

    Hi guys
    Check out the last 2 posts in this thread for ideas on how to implement 1.
    Report on user data from LDAP
    Varad

  • How to view the returned data from a stored procedure in TOAD?

    Hi,
    I created ref cursor in the stored procedure to return data. The stored procedure works fine, just want to view the result in TOAD. The BEGIN... EXEC... END can execute the stored procedure, but how to make the result display?
    Thanks!

    Right click the editor and choose
    "Prompt For Substitution Variables".
    Run for example the following code:
    DECLARE
    PROCEDURE p (cur OUT sys_refcursor)
    AS
    BEGIN
    OPEN cur FOR
    SELECT *
    FROM DUAL;
    END p;
    BEGIN
    p (:cur);
    END;
    The result will display in Toad's Data Grid!
    Regards Michael

  • The ways to return data from a stored procedure.

    Hi, I know there are three ways to pass out a value from a Microsoft SQL stored procedure, but I have no clear idea what Oracle SP can do, I know Oracle doesn't support multi-recordset(v8), can not return a recordset by a inner select query, but I do know there is a cursor object, which doesn't like its counterpart in Microsoft SQL server, is a choice under most situation. Here I wonder anyone who is good at Oracle can give a list of all ways to return data from a SP, including example is more better, thanks.

    Here is a way to get return a record from a function and a procedure. You need to be familiar with Oracle packages as well as stored procedures and functions:
    CREATE OR REPLACE PACKAGE EmpPkg AS
    cursor cEmp(pEmpno in number) is
    select empno, ename, job, hiredate, sal
    from emp
    where empno = pEmpno;
    FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype;
    PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype);
    END;
    CREATE OR REPLACE PACKAGE BODY EmpPkg AS
    FUNCTION GetEmployee(pnEmpNo in number) RETURN cEmp%rowtype IS
    rEmp cEmp%rowtype;
    BEGIN
    open cEmp(pnEmpNo);
    fetch cEmp into rEmp;
    close cEmp;
    return rEmp;
    END;
    PROCEDURE GetEmployee(pnEmpNo in number, prEmp out cEmp%rowtype) IS
    BEGIN
    open cEmp(pnEmpNo);
    fetch cEmp into prEmp;
    close cEmp;
    END;
    END;
    Here's how you use the package:
    DECLARE
    rEmp EmpPkg.cEmp%rowtype;
    BEGIN
    rEmp := EmpPkg.GetEmployee(7782);
    dbms_output.put_line(rEmp.ename);
    EmpPkg.GetEmployee(7902, rEmp);
    dbms_output.put_line(rEmp.ename);
    END;
    Note that you can return any Oracle data type from a function. Likewise, you can specify any Oracle data type as an out parameter in a procedure. Also, you can make a parameter both an in and an out datatype like this:
    PROCEDURE GetEmployee(pnEmpNo in out number);
    I hope this puts you in the right direction.
    null

  • How to view the returned data from a stored procedure?

    Hi,
    I created ref cursor in the stored procedure to return data. But how can I view the data when I execute it? The stored procedure works fine, just want to view the result.
    Thanks!

    SQL>set serveroutput on size 100000;
    SQL>set autoprint on
    SQL>variable cv refcursor;
    SQL>exec proc_name(param1,:cv);

  • Function Module - E_T_DATA does not return data

    Hi
    I am trying to create a fuction module Generic extraction, the code belwo dosen't return any data.
    when i debug YBW_MAT_STAT does have but after E_T_DATA = YBW_MAT_STAT it dose not return any data
    can you help?
    Ramesh
    FUNCTION YBW_FM_ACTIVE_MATERIAL.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *"     VALUE(I_REMOTE_CALL) TYPE  SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
    *"  TABLES
    *"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  YBW_MAT_STAT OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
    Example: DataSource for table SFLIGHT
      TABLES: YBW_MAT_STAT.
    Auxiliary Selection criteria structure
    DATA: L_S_SELECT TYPE SRSC_S_SELECT.
       DATA : YBW_MAT_STAT type YBW_MAT_STAT occurs 0 with header line.
    Maximum number of lines for DB table
      STATICS: S_S_IF TYPE SRSC_S_IF_SIMPLE,
    counter
              S_COUNTER_DATAPAKID LIKE SY-TABIX,
    cursor
              S_CURSOR TYPE CURSOR.
    Select ranges
    Comment copy code
    RANGES: L_R_CARRID  FOR SFLIGHT-CARRID,
             L_R_CONNID  FOR SFLIGHT-CONNID.
    DATA: begin of t_marc occurs 0,
    ZMATNR type MATNR,
    ZWERKS type WERKS,
    end of t_marc.
    DATA: begin of t_ytmd_mat_ref occurs 0,
    ZMATNR type MATNR,
    ZYNA_MATNR_ST type YNA_MATNR_ST,
    ZYEAME_MATNR_ST type YEAME_MATNR_ST,
    ZYFIN_MATNR_ST type YFIN_MATNR_ST,
    end of t_ytmd_mat_ref.
    Initialization mode (first call by SAPI) or data transfer mode
    (following calls) ?
      IF I_INITFLAG = SBIWA_C_FLAG_ON.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        CASE I_DSOURCE.
          WHEN 'ZAINV_MAT_STATUS'.
          WHEN OTHERS.
            IF 1 = 2. MESSAGE E009(R3). ENDIF.
    this is a typical log call. Please write every error message like this
            LOG_WRITE 'E'                  "message type
                      'R3'                 "message class
                      '009'                "message number
                      I_DSOURCE   "message variable 1
                      ' '.                 "message variable 2
            RAISE ERROR_PASSED_TO_MESS_HANDLER.
        ENDCASE.
        APPEND LINES OF I_T_SELECT TO S_S_IF-T_SELECT.
    Fill parameter buffer for data extraction calls
        S_S_IF-REQUNR    = I_REQUNR.
        S_S_IF-DSOURCE = I_DSOURCE.
        S_S_IF-MAXSIZE   = I_MAXSIZE.
    Fill field list table for an optimized select statement
    (in case that there is no 1:1 relation between InfoSource fields
    and database table fields this may be far from beeing trivial)
        APPEND LINES OF I_T_FIELDS TO S_S_IF-T_FIELDS.
      ELSE.                 "Initialization mode or data extraction ?
    Data transfer: First Call      OPEN CURSOR + FETCH
                   Following Calls FETCH only
    First data package -> OPEN CURSOR
        IF S_COUNTER_DATAPAKID = 0.
    Fill range tables BW will only pass down simple selection criteria
    of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
    Determine number of database records to be read per FETCH statement
    from input parameter I_MAXSIZE. If there is a one to one relation
    between DataSource table lines and database entries, this is trivial.
    In other cases, it may be impossible and some estimated value has to
    be determined.
          SELECT MATNR WERKS FROM MARC into table t_marc where MATNR BETWEEN '4233940M1' and '4233950M1'.
          loop at t_marc.
            SELECT MATNR YNA_MATNR_ST YEAME_MATNR_ST FROM YTMD_MAT_REF into table t_ytmd_mat_ref where MATNR = t_marc-zmatnr.
              loop at t_ytmd_mat_ref.
                if t_marc-zwerks = 'GB71' AND t_ytmd_mat_ref-ZYEAME_MATNR_ST = 'A'.
                  read table t_ytmd_mat_ref with key zmatnr = t_marc-zmatnr.
                  YBW_MAT_STAT-matnr = t_marc-zmatnr.
                  YBW_MAT_STAT-plant = t_marc-zwerks.
                append YBW_MAT_STAT.
                clear YBW_MAT_STAT.
                endif.
               endloop.
          endloop.
        ENDIF.                             "First data package ?
         clear E_T_DATA.
         refresh E_T_DATA.
         E_T_DATA = YBW_MAT_STAT.
        S_COUNTER_DATAPAKID = S_COUNTER_DATAPAKID + 1.
      ENDIF.              "Initialization mode or data extraction ?
    ENDFUNCTION.

    Hi
    I have a question,
    With the above code i have all my records (450000+) in a single data package.
    how do i break this in multiple data packages
    regards
    Ramesh

  • Use return date value in stored procedure

    hi
    i am new in oracle , i make stored procedure to fetch data in the form and i make calendar , i want user when they select a date from date LOV the stored procedure use this date in the query.. i try like this in the query:
    when time=:blok.date_item;
    but i get IN OUT error in the procedure.
    any help will be appreciated.

    ok this is the package header:
    create or replace package get_outvalue_test is
    type rec is record (time archive.time%type,
    value archive%type);
    type value_tab is table of rec index by binary_integer;
    procedure get_value(p_returnvalue IN OUT value_tab);
    end;
    package body :
    create or replace package body get_outvalue_test is
    procedure get_value(p_returnvalue IN OUT value_tab)
    is
    ii number;
    cursor valselect is
    select time,value from archive where u_id=5666
    and time=:block.date_item ; -- this is the return date from LOV
    begin
    open valselect;
    ii:=1
    loop
    fetch valselect into
    p_returnvalue(ii).time;
    p_returnvalue(ii).value;
    exite when valselect %notfound;
    ii:=ii+1;
    end loop;
    end;
    end;
    this is the error when i compile the package body :
    MIssing IN or OUT parameter at index
    i hope itis cleare and easy .

  • Missing data in ref cursor

    I've got a procedure in PL/SQL that returns data to a .NET program using a ref cursor. If I run the procedure, all the data shows correctly. However, when I run it from .NET, it drops two records entirely (they are blank) and another one has "SYSTEM.WINDOWS.FORMS.TEXTBOX, TEXT" before the data prints. I'm passing the date as part of a string, using to_char to convert it.
    The two lines that are missing are address lines (street address is one and city/state/zip is the other). The person's name (which is the first line) shows up fine. The street address starts with a number.
    I'm passing all the fields as varchar2s.
    On the .NET side, here's my code to populate the dataset:
    Dim da As OracleDataAdapter = New OracleDataAdapter(cmd)
    Dim ds As DataSet = New DataSet
    Try
    da.Fill(ds, "Bill")
    When I look at the resulting data, the address lines are blank and the field with the date is showing the "SYSTEM" shown above.
    Anyone have any ideas? This is driving me crazy.
    -Joe

    As a followup, I think the "SYSTEM.WINDOWS.FORMS.TEXTBOX, TEXT" problem has to do with how the parameter is passed. I'm asking the user to enter a date and then pass it as a varchar2. The parameter in my procedure is a varchar2 also. It is passed correctly and comes back correctly, but it puts the "SYSTEM.WINDOWS.FORMS.TEXTBOX, TEXT" before it prints the date. If I hard code the date in my PL/SQL procedure, it passes perfectly and prints perfectly. So it must be coming from .NET to Oracle. I've tried converting it to a date and then back to text, but with the same result.

  • Sorting the results returned by a Ref cursor

    Hi All,
    I have a scenario where i am asked to sort results returned by a ref cursor.
    I have to pass the column to be sorted as the Input parameter to a stored procedure. I tried using 'order by sorting_parameter' in the ref cursor's select query, but it is not sorting the results. It is not throwing any error even.
    Please help.
    Many Thanks...

    Hi
    i came across the below reply for a thread with the similar query as above.
    <<
    Justin Cave
    Posts: 10,696
    From: Michigan, USA
    Registered: 10/11/99
    Re: sort data in ref cursor
    Posted: Feb 3, 2005 10:30 AM in response to: [email protected] Reply
    No. You could sort the data in the SQL statement from which the REF CURSOR was created, but once you have a REF CURSOR, you cannot do anything but fetch from it.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC
    >>
    So, the results from a ref cursor cant be sorted?? There is no way out?
    Kindly advise.

  • Wanted to fetch data from ref cursor to nested pl/sql table getting an erro

    create or replace type "DEPT12" as object(dno number(2),dname varchar2(30),loc varchar2(50));
    create or replace type dept_tab as table of "DEPT12"
    create or replace type "LOC12" as object(locno number,loc_name varchar2(100))
    create or replace type loc_tab as table of "LOC12"
    create or replace type dept_loc_rec1 as object (dept_dt dept_tab,eno number,loc_dt loc_tab);
    create type dept_loc_tb as table of dept_loc_rec1
    create table dept_loc_tb_bk1(dept_dt dept_tab,eno number,loc_dt loc_tab)
    NESTED TABLE dept_dt
    STORE AS dept_tab12,
    NESTED TABLE loc_dt
    STORE AS loc_tab12
    insert into dept_loc_tb_bk1 values(dept_tab(dept12(3,'ABD','LOC')
    ,dept12(4,'ABD','LOC')
    ,dept12(5,'ABD','LOC')),3,loc_tab(loc12(21,'AAB'),
    loc12(22,'AAB'),
    loc12(23,'AAB')));
    when I am trying to fetch data from ref cursor to pl/sql table which i am getting an error ora-06504: pl/sql : Return types of result set variables or query do not match.
    I have created a nested table of same as the nested pl/sql object table dept_loc_tb and i have declared the lv_dept_loc_tb of same dept_loc_tb but getting an above error when trying to fetch into that variable.
    Please any one who can solve my problem.
    declare
    type cr is ref cursor;
    cr_obj cr;
    lv_dept_loc_tb dept_loc_tb;
    begin
    open cr_obj for select dept_dt,eno,loc_dt from dept_loc_tb_bk1;
    fetch cr_obj bulk collect into lv_dept_loc_tb;
    close cr_obj;
    end;

    Your query selects 3 separate columns therefore requires 3 collections of corresponding types. You want to treat those 3 columns as an object of DEPT_LOC_REC1 type:
    SQL> declare
      2  type cr is ref cursor;
      3  cr_obj cr;
      4 
      5  lv_dept_loc_tb dept_loc_tb;
      6 
      7  begin
      8  open cr_obj for select dept_dt,eno,loc_dt from dept_loc_tb_bk1;
      9  fetch cr_obj bulk collect into lv_dept_loc_tb;
    10  close cr_obj;
    11  end;
    12  /
    declare
    ERROR at line 1:
    ORA-06504: PL/SQL: Return types of Result Set variables or query do not match
    ORA-06512: at line 9
    SQL> declare
      2  type cr is ref cursor;
      3  cr_obj cr;
      4 
      5  lv_dept_loc_tb dept_loc_tb;
      6 
      7  begin
      8  open cr_obj for select DEPT_LOC_REC1(dept_dt,eno,loc_dt) from dept_loc_tb_bk1;
      9  fetch cr_obj bulk collect into lv_dept_loc_tb;
    10  close cr_obj;
    11  end;
    12  /
    PL/SQL procedure successfully completed.
    SQL> SY.
    P.S. Discover sys_refcursor.

  • Can the return from xsql:ref-cursor-function be saved & looped through XSQL?

    If <xsql:ref-cursor-function> returns one field for a number of rows, is there a way to save those values and loop through the data retrieved for other query process within XSQL? Any example?
    Thanks.
    null

    You have a couple of options.
    You can process the XML returned by <Xsql:ref-cursor-function> as the normal part of XSLT processing, or you can write a custom action handler that aggregates the action handler for <xsql:ref-cursor-function> and then uses DOM to operate on the return value.
    Search the Online XSQL Pages Documentation for the term "MyIncludeXSQLHandler" for some sample code that illustrates building a customer action handler that aggregates one of the built-in handlers.

  • Function-accept any datatype as an input param,return the result in cursor

    I am trying to create a function which will accept any datatype as an input parameter and return the result in cursor.
    Any thoughts?
    I searched the web and came to know that there is a type called "ANYDATA" in Oracle 10g which will allow to accept any datatype variable.
    But we are using oracle 8i.

    I believe you are looking for an implementation of "generic functions" (Java) or "templates" (C++) in PL/SQL. I believe there is no such language feature.
    Perhaps the best solution would be to convert the incoming data into a common type, and then call a common function from each of the overloaded functions.
    realWork (int n) { [work]; return result; }
    myFunction (varchar2 v) { n = to_number(v); return realWork(n); }
    myFunction (char c) { n = to_number(c); return realWork(n); }
    myFunction (date d) { n = to_char(to_number(d)); return realWork(n); }
    etc. ?

  • How to execute procedure returning data rows from sql plus

    Hi,
    I want to execute a stored procedure that returns data rows from sql plus. please let me know the syntax for the same.
    Thanks,
    YG

    user13065317 wrote:
    Even if i get the result set into the cursor, do i have to do normal fetch into all the coumn variables within a loop
    But suppose no of columns in my result set varies depending on a parameter to the stored procedure.
    Is there any straightforward way to retrieve all the data irrespective of no of columns in the result set.There is no such thing as a "+result set+". Oracle does not create a temporary data set in memory that contains the results of your query. What would happen if this result set is a million rows and is too large to fit into memory? Or there are a 100 clients each with a 100,000 row result set?
    This is not scalable. You will be severely limited in the number and sizes of these "+result sets+" that can be created in server memory.
    A cursor is in fact a "program" that is created by compiling the SQL source code that you provide. This source code is parsed and compiled into what Oracle calls an execution plan. This is nothing but a series of instructions that the cursor will execute in order to return the rows required.
    Thus the result set is actually the output from a cursor (a program). Likewise, bind variables are the input parameters to this program.
    All SQLs are parsed and compiled as cursors and stored in the SQL Shared Pool. Oracle gives you handle in return to use to address this cursor - bind values to it, execute it, describe the output structure returned by the cursor, and fetch the output from the cursor.
    On the client side, this handle is used in different ways. In PL/SQL alone, this cursor handle can be used as an implicit cursor (you do not even see or use the cursor handle in your PL/SQL code). Or you can use a PL/SQL cursor variable. Or a DBMS_SQL cursor variable. Or a reference cursor variable.
    Why so many different client structures for the very same SQL cursor handle returned by Oracle? Because to allow you, the programmer, all kinds of different features and flexibility.
    The ref cursor feature is the ability to pass this cursor handle around, not only between PL/SQL code, but also from PL/SQL to the actual client process (Java. VB, SQL*Plus, TOAD, etc).
    The primary thing to remember - irrespective of what the client calls this (e.g. ref cursor, SQL statement handle, etc), this all refers to the same SQL cursor in the Shared Pool. And that this SQL cursor is a program that outputs data, and not a result set in itself.

  • Can not find Flush Return Data Buffer.vi

    When I try to start my Labview program I get a "Error -70025 occurred at Read Home Input Status.vi" because the Return Data Buffer is not empty.
    I searched for the Flush Return Data Buffer.vi in the Labview library but it is not there.
    Where can I find it?

    Hello Mishka,
    The Flush Return Data Buffer.vi should be located in your functions palette at Vision and Motion>>73xx>>Advanced>>Flush RDB.vi. Alternatively, you can press ctrl+space on your keyboard to open the quick drop menu and then search for Flush RDB.vi. 
    Regards,
    J_Bou

  • Can I return my MacBook Air past the return date?

    Hi, I have a question that I've been googling but I haven't been able to find an answer to anywhere. Can I return a MacBook Air past the return date to an Apple store if it is still in shrink-wrap and I have a receipt? Thanks.

    I would think you cannot return a product after the return date has passed.
    Call the Apple Store and ask them.

Maybe you are looking for

  • Strange Update Screen

    I get a pop up screen in Google Chrome everyday.  It is a yellow triangle with and exclimation mark in it.  It says to update my media player click here to continue.  I get them all the time, everyday for the last 3 months.  They have came from sever

  • RE: Multiple asset posting with different dates

    Hello can we post and transfer multiple asset codes with different posting dates to different asset in one single transaction i have use ABUMN with multiple selection but it is not provide to use different posting date for different asset codes. Rega

  • Classpath read only

    hi , I import configuration and tried to create project for existing Dc but i got error as classpath is read only. It is also showing name clash against class path file in DTR perspective. even when i tried to sync same DC i got following error . How

  • CD won't import on new computer

    My iTunes Library didn't transfer to my new PC properly (Windows 7) when I used an external hard drive (I lost all my playlists). So I tried home sharing, and the playlists are there, but now I can't import a CD. The songs show up but I don't get an

  • Attaching segment to Message type.

    Hello , How are segments attached to a Message type. I want to know the step wise process if any as i am a novice in this field. Regards, Vinod Kapote.