以下是我的表格结果。我剩下要做的就是插入电流 dateloaded中的日期:
我一直在尝试添加一个日期,当JSON文件中的数据加载到表中但却不知道正确的语法。有什么帮助吗? :)
答案 0 :(得分:1)
从你的评论中得到另一个答案:
这不是很有效,这是错误“列名或数字 提供的值与表定义不匹配。“
您遇到的问题与
有关insert into main.jsontable
select * from...
你永远不应该依赖列顺序。要插入的列和要读取的列必须匹配。最糟糕的情况是错误的匹配。
关于bad habits to kick: SELECT
with *
将此更改为
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中读取此内容。
答案 1 :(得分:0)
您可以使用GETDATE(),这是实际的日期时间。
答案 2 :(得分:0)
sysdatetimeofffset()
应该做你想做的事。排列列,以下内容应该有效:
select *, sysdatetimeoffset() from
openjson(@PersonDetails, <etc>