Problem with date comparision in Pro*C


 
Thread Tools Search this Thread
Top Forums Programming Problem with date comparision in Pro*C
# 1  
Old 03-24-2010
Problem with date comparision in Pro*C

Hi,

I have written the following Pro*C program to get the difference between 2 dates.But when I am printing the value of the date difference,it is always showing 0.

Code:
#include<stdio.h>
#include<sqlca.h>
#include<oraca.h>
void main()
{
  EXEC SQL BEGIN DECLARE SECTION;
  int diff;
  EXEC SQL END DECLARE SECTION;
  EXEC SQL select trim(to_date('20101003','yyyymmdd')-to_Date('20091003','yyyymmdd')) into :diff from dual;
  printf("\n The difference value is %d \n",diff);
}

But I need to get the exact date difference.Please help me to resolve.

Thanks in advance.

Last edited by Scott; 03-24-2010 at 05:39 AM.. Reason: Please use code tags
# 2  
Old 03-24-2010
use to_date('2010-01-03' , 'YYYY-MM-DD') and to_date('2009-01-03' , 'YYYY-MM-DD')

Best practice: always use an indicator variable and check sqlca
Code:
  EXEC SQL BEGIN DECLARE SECTION;
       int diff=0;
       short ind=0;
  EXEC SQL END DECLARE SECTION;
  EXEC SQL
    select whatever 
       into :diff :ind
    from mytable;
  if(sqlca.sqlcode < 0)
  {
        EXEC SQL ROLLBACK WORK RELEASE;
        fprintf(stderr, "Line: %d:  ORA-%05d\n", __LINE__, -1*sqlca.sqlcode);
        exit(1);
  }

I'm also surprised your code compiles with #include <sqlca.h> all of the oracle includes should be like this: #include "[some file].h"

Last edited by jim mcnamara; 03-24-2010 at 09:02 AM..
# 3  
Old 03-24-2010
Hi,

I printed the sqlca.sqlcode and it is returning 1012 error code.
What dose it mean?
# 4  
Old 03-24-2010
Quote:
ORA-01012

ORA-01012 not logged on

Cause:A host language program issued an ORACLE call without being logged on to ORACLE. This can occur when a user process attempts to access the database after the instance it is connected to terminates, forcing the process to disconnect.

at the unix prompt:
Code:
oerr ora 1012

gives you a succint version of the error and problem

You have to use EXEC SQL connect :usr identified by Smiliewd;
where usr= username pwd = password, both are char array variables.
# 5  
Old 03-25-2010
Hi

Thanks for your reply.When I am using this code in my application,Its giving 1830 error.

This is the query I am using:

SELECT to_char(trim(to_date(:sEventStartTime,'YYYYMMDD')- to_date(:sCurrentDateTime,'YYYYMMDD')))
INTO :sDatediff :idatediff_i
FROM dual;

where sDatediff is declared as string.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Date command comparision with a different format

I have a script called " passwd_status " which gives the passwd-s status of my servers. the script output is like below password status for A: abc ks 10/05/115 1 30 ps password status for B: abc ks 09/25/115 1 30 ps password status for C: abc ks 10/10/115 1 30 ps Now , i want to... (1 Reply)
Discussion started by: charanarjun
1 Replies

2. Shell Programming and Scripting

Date comparision in Unix

Hi All, I would need your help to compare dates in my script. Say if I have the dates in a file I need to comapre these dates with yesterday's date and the dates which are older than yesterday needs to be displayed. Example: 03/22/2012 03/24/2012 03/20/2012 03/21/2012 03/12/2012... (1 Reply)
Discussion started by: pdreddy34
1 Replies

3. Shell Programming and Scripting

Date Manipulation and Comparision

Hi All, I want to generate quarter dates using awk or anything, by giving a dates as input for example : start_date=2010-01-01 end_date=2010-05-31 output should be: start_date end_date qtr 2010-01-01 2010-03-31 1 2010-04-01 2010-05-31 2 Example 2:... (1 Reply)
Discussion started by: sol_nov
1 Replies

4. Shell Programming and Scripting

Date - String comparision

Hi, I am having difficulty to compare a string in a file against a date from a a table and print the latest date. Below are the values. String in File : 2009-12-02 00:37:51 Value Table : 2010-01-10-02.00.49.294758 I have to compare both the values ( Ignore the Microsecond in the table... (5 Replies)
Discussion started by: sam_78_nyc
5 Replies

5. Shell Programming and Scripting

problem in date comparision

#!/bin/ksh var="2009-08-31 12:39:05 UTC" ddate=`echo $var|cut -d' ' -f1` y1=`echo $ddate|cut -d'-' -f1` m1=`echo $ddate|cut -d'-' -f2` d1=`echo $ddate|cut -d'-' -f3` filedate=$y1$m1$d1 currdate="20070814" if ]; then echo "$LINE -> $filedate LOWER THAN $currdate" ... (0 Replies)
Discussion started by: HemaV
0 Replies

6. Shell Programming and Scripting

Problem with Date Comparision

Hi, I have a file which has the date in the last line in the example pasted along with the rates of the countries. -- I want to compare the date in the last line of the file mentioned in the example below with the system date from Monday to Friday. -- If system date is equal to the date... (2 Replies)
Discussion started by: Raji_gadam
2 Replies

7. Shell Programming and Scripting

Date Comparision in the File

Hi All, I have thefollowing files in the directory inbox/sat ras.sat.trn.20090103.001902.00004358 ras.sat.trn.20090612.001903.00005339 ras.sat.trn.20090723.001902.00004358 The above file contains the date of the file creation. We just need to write a ksh shell script to check the... (5 Replies)
Discussion started by: satheesh_color
5 Replies

8. Solaris

date comparision

I am wriitng a shell script to compare a date in `date +%Y%m%d%H%M` to the output of `cat /var/adm/messages.0 | grep Temp |grep "CPU Fans" | cut -f1-4,19 -d' '` which looks like Dec 2 11:30:57 79 Dec 2 11:37:58 79 Dec 2 11:44:58 79 Dec 2 11:50:59 79 Dec 2 11:58:00 79 Dec 2... (1 Reply)
Discussion started by: Hitesh Shah
1 Replies

9. UNIX for Dummies Questions & Answers

date comparision

Hello, I am trying to compare two dates which are in variables and i am not getting the correct result as expected. $first_date = '07/19/2007' $second_date='07/20/2007' Can you please suggest how to i check whether they are equal or not. if ($first_date -eq $second_date) condition is not... (3 Replies)
Discussion started by: kotasateesh
3 Replies

10. UNIX for Dummies Questions & Answers

domain logon problem - FreeBSD PDC w/ win2k pro and winxp pro

this is the seventh problem i'm having with samba. for some reason, i cannot logon to the domain. i've created user accounts... and i was able to establish a connection between the samba server (my PDC) and my workstations by logging in as "root." however now when i try to logon it gives... (5 Replies)
Discussion started by: xyyz
5 Replies
Login or Register to Ask a Question