From a41ce12023914dad5a018e64cde09ea4ccf8fd71 Mon Sep 17 00:00:00 2001 From: Dimitri Fontaine Date: Wed, 13 Nov 2013 21:45:11 +0100 Subject: [PATCH] Transform dates with just day of month set to "00" to NIL. --- src/transforms.lisp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/transforms.lisp b/src/transforms.lisp index 3f6f0e2..7603f57 100644 --- a/src/transforms.lisp +++ b/src/transforms.lisp @@ -27,10 +27,14 @@ (find-package "PGLOADER.TRANSFORMS"))) (defun zero-dates-to-null (date-string) - "MySQL accepts '0000-00-00' as a date, we want :null instead." + "MySQL accepts '0000-00-00' as a date, we want NIL (SQL NULL) instead." (cond ((null date-string) nil) ((string= date-string "") nil) + ;; day is 00 + ((string= date-string "0000-00-00" :start1 8 :start2 8 ) nil) + ;; month is 00 + ((string= date-string "0000-00-00" :start1 5 :end1 7 :start2 5 :end2 7) nil) ((string= date-string "0000-00-00") nil) ((string= date-string "0000-00-00 00:00:00") nil) (t date-string)))