Reputation: 175
I have to ignore rows which have null
in date column. How can I do it?
select s."SR Closed Date"::date,
s."Service Request Number",
a."Activity ID"
from sr_data_master s,
activity_master a
where s."Service Request Number" = a."Service Request Number"
and a."Service Request Number" is not null
and a."Service Tag" is not null
and a."Activity ID" is not null
and s."SR Closed Date"::date is not NULL
group by s."Service Request Number",
s."SR Closed Date"::date,
a."Activity ID";
I am getting the error:
invalid input syntax for type date: "NULL"
Upvotes: 7
Views: 36648
Reputation:
The error message indicates that your "date" column (which apparently isn't actually a date column) contains the string constant 'NULL'
rather than a real null
value (because there is no problem casting a real null
value to date
value).
You could use the following condition to exclude those rows:
and s."SR Closed Date" <> 'NULL'
But the correct fix for this problem is to store date values in DATE
columns. Then you don't need the casting and you can't store invalid date values to begin with.
Upvotes: 2
Reputation: 311853
null
is a valid value for a date. From the error message, it seems as though you have the string 'null' stored in that column. You could either check for it explicitly:
LOWER(s."SR Closed Date") <> 'null'
Or just remove the casting to date
from the group by
clause.
Upvotes: 1