Вставка переменной даты в переменную типа char в SQL

Переменные bday и date в файле work.record хранятся как date9. в то время как переменные date и Birth_day - это datetime, но кажутся значениями char; информация и формат для переменных orion.test - 10 долларов.

Как мне преобразовать свои переменные, чтобы их можно было вставить в переменные в orion.test?

proc sql;
    insert into orion.test  (date, birth_day)
        select r.date r.bday FROM work.record AS r;
quit;

person Sarah    schedule 01.07.2015    source источник


Ответы (1)


Используйте put для преобразования в символ.

proc sql;
    insert into orion.test  (date, birth_day)
        select put(r.date,mmddyy10.), put(r.bday,mmddyy10.) FROM work.record AS r;
quit;

Просто проверьте, подходит ли формат (независимо от формата ваших значений char в orion.test).

person Joe    schedule 01.07.2015
comment
Я изменил свой код, чтобы включить put, но теперь в журнале появляется эта ошибка Ошибка выполнения CLI: [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Ошибка преобразования при преобразовании даты и / или времени из символьной строки. - person Sarah; 02.07.2015
comment
Вероятно, у вас есть некоторые значения, которые нельзя правильно преобразовать. - person Joe; 02.07.2015