On 2/11/19 4:44 PM, Rich Shepard wrote:
> Running postgresql-10.5 on Slackware-14.2.
>
> A table has a column defined as
>
> Column | Type | Collation | Nullable | Default
> next_contact | date | | |
>
> In a .sql file to insert rows in this table psql has a problem when there's
> no value for the next_contact column:
>
> $ psql -f activities.sql -d bustrac psql:activities.sql:6: ERROR: invalid
> input syntax for type date: ""
> LINE 2: ...ise. Asked him to call.',''),
>
> Explicitly replacing the blank field ('') with null is accepted. Why is
> this?
>
> Now I know to replace no dates with null I'll do so but I'm curious why this
> is needed.
NULL is nothing. Blank isn't nothing; blank is a zero-length string. Thus,
you need to tell Pg "nothing", not "blank string".
(Oracle is really bad about that.)
--
Angular momentum makes the world go 'round.