Я вставил файл json в свою таблицу, но как мне также указать дату в моей таблице? - PullRequest
0 голосов
/ 09 мая 2018

Вот как получается мой стол. Все, что мне осталось сделать, это вставить текущий дата в загруженной дате:

image

Я пытался добавить дату, когда данные из файла JSON загружаются в таблицу, но не знаю правильный синтаксис. Любая помощь, пожалуйста? :)

Ответы [ 3 ]

0 голосов
/ 09 мая 2018

sysdatetimeofffset() должен делать то, что вы хотите. Выровняйте столбцы, и что-то вроде следующего должно работать:

select *, sysdatetimeoffset() from
openjson(@PersonDetails, <etc>
0 голосов
/ 09 мая 2018

Взято из вашего комментария под другим ответом:

Это не совсем сработало, это была ошибка "Имя столбца или номер предоставленные значения не соответствуют определению таблицы. "

Ваша проблема связана с

insert into main.jsontable
select * from...

Вы никогда не должны полагаться на порядок столбцов. Столбцы, в которые вы вставляете данные, и столбцы, из которых вы читаете, должны совпадать. Худший случай - неправильное совпадение по совпадению.

О вредных привычках пинать: SELECT с *

Измените это на

insert into main.jsontable(name, surname, email, ...more columns...)
select <list your JSON "columns" here> 
from...

Последним шагом будет включение dateloaded в следующее:

insert into main.jsontable(dateloaded, name, surname, email, ...more columns...)
select SYSUTCDATETIME(), <list your JSON "columns" here> 
from...

UPDATE

Вам уже сказали, что размещать картинки - это то, чего следует избегать. Оттуда трудно читать, но, кажется, вы пытаетесь решить эту проблему здесь

with(
[dateloaded] datetimeoffset,
[name] ...

Этот производный столбец никогда не получит никакого значения, поскольку вы не читаете это из своего JSON.

0 голосов
/ 09 мая 2018

Вы можете использовать GETDATE (), фактическая дата и время.

...