| From: | Kevin Grittner <kgrittn(at)ymail(dot)com> |
|---|---|
| To: | Medhavi Mahansaria <medhavi(dot)mahansaria(at)tcs(dot)com>, Bill Moran <wmoran(at)potentialtech(dot)com> |
| Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: #PERSONAL# Reg: date going as 01/01/0001 |
| Date: | 2015-03-06 14:02:22 |
| Message-ID: | 123623754.4003791.1425650542147.JavaMail.yahoo@mail.yahoo.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Medhavi Mahansaria <medhavi(dot)mahansaria(at)tcs(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Patrick Dung | 2015-03-06 14:05:59 | Re: Find similar records (compare tsvectors) |
| Previous Message | wambacher | 2015-03-06 13:00:42 | Re: autovacuum worker running amok - and me too ;) |