[SPARK-3407][SQL]Add Date type support

The 4 case clauses above can also use long instead of string (and they probably should be moved to some rule other than `PromoteStrings`).