Re: #PERSONAL# Reg: date going as 01/01/0001 - Mailing list pgsql-general

From Medhavi Mahansaria
Subject Re: #PERSONAL# Reg: date going as 01/01/0001
Date
Msg-id OF1B64763B.99B76CB9-ON65257E06.0027430F-65257E06.002760A7@tcs.com
Whole thread Raw
In response to Re: #PERSONAL# Reg: date going as 01/01/0001  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-general
Dear Kevin,

Thanks! it worked :)



Medhavi Mahansaria
Tata Consultancy Services Limited
Unit-VI, No.78, 79& 83,
L-Centre, EPIP Industrial Estate,
Whitefield
Bangalore - 560066,Karnataka
India
Ph:- +91 80 67253769
Cell:- +91 9620053040
Mailto: medhavi.mahansaria@tcs.com
Website:
http://www.tcs.com
____________________________________________
Experience certainty.        IT Services
                       Business Solutions
                       Consulting
____________________________________________




From:        Kevin Grittner <kgrittn@ymail.com>
To:        Medhavi Mahansaria <medhavi.mahansaria@tcs.com>, Bill Moran <wmoran@potentialtech.com>
Cc:        "pgsql-general@postgresql.org" <pgsql-general@postgresql.org>
Date:        03/06/2015 07:32 PM
Subject:        Re: [GENERAL] #PERSONAL# Reg: date going as 01/01/0001




Medhavi Mahansaria <medhavi.mahansaria@tcs.com> wrote:

> Now my problem is that my bind variables are of string type and
> when the get a NULL value is converts it into an empty string in
> C++ programming.

> Example:
> insert into check_date values
>   (to_date(:h1,'yyyymmddhh24miss'),
>    1,
>    to_date(:h2,'yyyymmddhh24miss'));
>
> now h1 and h2 are of string datatype in my c++ program.
>
> If no value is there, it is passed on as a empty string into my
> query.
>
> How can I handle this to enter NULL values?

Well, arguably the best solution is to use a tool chain that
doesn't conflate any particular "magic value" with NULL.  Where
that can't be done, you might want to look at the SQL standard's
NULLIF() construct.

insert into check_date values
 (to_date(nullif(:h1, ''),'yyyymmddhh24miss'),
  1,
  to_date(nullif(:h2, ''),'yyyymmddhh24miss'));

If the two arguments to nullif() are equal, it returns NULL;
otherwise it returns the first argument.

--
Kevin Grittner
EDB:
http://www.enterprisedb.com
The Enterprise PostgreSQL Company

=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you

pgsql-general by date:

Previous
From: Tim Uckun
Date:
Subject: Re: Benchmarking partitioning triggers and rules
Next
From: Robert Inder
Date:
Subject: Re: Basic Question on Point In Time Recovery