Sql 如何将包含对象的数组插入到一列中
我有一个现有的数据库,其中有一个重要的列,名为InDays with nvarchar150 datatype 在现有数据中,有一个数组,其中包含一个对象,如下所示:Sql 如何将包含对象的数组插入到一列中,sql,sql-server,Sql,Sql Server,我有一个现有的数据库,其中有一个重要的列,名为InDays with nvarchar150 datatype 在现有数据中,有一个数组,其中包含一个对象,如下所示: InDays ---------------------------------------------------------------------------------------------- [{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "fro
InDays
----------------------------------------------------------------------------------------------
[{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "from": "2:00am", "to": "4:00am"}]
内部的对象可以是多个
我尝试按原样插入它,但得到的是[object],而不是值
编辑-
插入代码
DECLARE @InDays nvarchar(150) = [{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "from": "2:00am", "to": "4:00am"}]
INSERT INTO Course (
InDays
)
VALUES
(
@InDays
)
我有。。。一个重要的专栏是。。。nvarchar150数据类型
因此,在插入时使用该类型:
DECLARE @InDays nvarchar(150) = '[{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "from": "2:00am", "to": "4:00am"}]'
尽管我有我的疑问,如果你能最终得到很多这样的东西,150美元是否足够大呢。仅通过第一个对象,假设它是典型的,您将在阵列的第五个成员处用完空间。供未来的探索者使用
我只需将JSON格式转换为字符串
这是由JSON.stringify[{value:value}]完成的,然后直接将其存储到sql数据库中
然后JSON.parsevalue将其再次转换为JSON。您能显示插入代码吗?我编辑了这篇文章。显然,我以后需要映射这个对象。可能吗?可能,是的。除非你能使用新的json类型,否则一点都不简单。你能举个例子吗?不。我个人的感觉是数据库中需要json的模式设计很差,所以到目前为止,我一直设法避免自己这么做。很多人都非常喜欢json特性。我不是他们中的一员。哦,我应该把它修改为需要可查询的json。将json片段存储在数据库CRM、服务日志、缓存等中有很多很好的理由。当您开始使用它们作为拐杖以避免布置真正的表时,我对此感到非常势利。