首页 > 解决方案 > 我将 json 文件插入到我的表中,但是我如何将日期也放入我的表中?

问题描述

这是我的桌子的结果。我剩下要做的就是在 dateloaded 中插入当前日期:

图片

我一直在尝试添加将 JSON 文件中的数据加载到表中但不知道正确语法的日期。请问有什么帮助吗?:)

标签: sqljsonsql-servertsqlsql-server-2017

解决方案


取自您在另一个答案下方的评论:

这不太奏效,这是错误“列名或提供的值的数量与表定义不匹配”。

您遇到的问题与

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...

更新

您已经被告知,发布图片是要避免的。从那里很难阅读,但您似乎正在尝试在这里解决这个问题

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

这个派生列永远不会得到任何值,因为您没有从 JSON 中读取它。


推荐阅读