Sql 如何将包含对象的数组插入到一列中

Sql 如何将包含对象的数组插入到一列中,sql,sql-server,Sql,Sql Server,我有一个现有的数据库,其中有一个重要的列,名为InDays with nvarchar150 datatype 在现有数据中,有一个数组,其中包含一个对象,如下所示: InDays ---------------------------------------------------------------------------------------------- [{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "fro

我有一个现有的数据库,其中有一个重要的列,名为InDays with nvarchar150 datatype

在现有数据中,有一个数组,其中包含一个对象,如下所示:

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、服务日志、缓存等中有很多很好的理由。当您开始使用它们作为拐杖以避免布置真正的表时,我对此感到非常势利。