Вставьте дату и строку в таблицу - PullRequest
0 голосов
/ 05 июля 2019

У меня есть таблица со следующими свойствами:

U. TRADE_ID VARCHAR2
   TRADE_DATE DATE
   PRICE NUMBER(10.2)

Как только я получаю данные из файла, столбцы выглядят следующим образом: PSD231,03051982,50.1

Мой вопрос: правильные ли типы данных для таблицы? Я получаю входные данные из файла для первого столбца sql в виде строки. Но я не могу показать это. Я думаю, что я что-то упустил в части SQL. Как я могу создать новую строку SQL, заполненную данными, чтобы я мог проверить это? Вот что я пробовал и работает:

insert into myTable(TRADE_ID, TRADE_DATE, PRICE)
    values('PSD231', date '2011-01-01', 10.4);

но я пытаюсь создать запрос с датой в формате: 01-01-2011, не так, как указано выше

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

"Что делать, если я хочу вставить такие значения: 10062019 в формате ddmmyyyy вместо того, как у меня это в запросе: 2011-01-01"

Просто поместите одинарные кавычки вокруг даты, «10062019», и убедитесь, что она в правильном формате даты для вашего региона (ddmmyyyy в вашем случае).

insert into myTable (TRADE_ID, TRADE_DATE, PRICE)
values ('PSD231', '20110101', 10.4);

Чтобы изменить форматы даты, используйте функцию CONVERT, например,

 SELECT CONVERT(varchar, getdate(), 1)

Здесь есть хороший список для функции конвертации здесь

0 голосов
/ 05 июля 2019

Поскольку вы определили первое поле как тип varchar, оно должно быть больше похоже на

insert into myTable(TRADE_ID, TRADE_DATE, PRICE)
    values('PSD231','2011-01-01', '10'); 

Значения должны быть заключены в одинарные кавычки при их вставке.

...