如何将包含对象的Array插入一列

问题描述 投票:0回答:2

我有一个现有的数据库,它有一个重要的列,名为InDays,带有nvarchar(150)数据类型。

在现有的数据中有一个Array内部有一个Object,看起来像这样:

InDays
----------------------------------------------------------------------------------------------
[{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "from": "2:00am", "to": "4:00am"}]

内部的Objects可以不止一个。

我尝试按原样插入它,但我得到[object 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
    )
sql sql-server
2个回答
1
投票

我有...一个重要的列是... nvarchar(150)数据类型。

所以在插入时使用该类型:

DECLARE @InDays nvarchar(150) = '[{ "day": 1, "from": "12:00am", "to": "2:00am"},{ "day": 4, "from": "2:00am", "to": "4:00am"}]'

虽然我怀疑150,如果你最终可能会有很多这样的话,那么它将足够大。单步执行第一个对象,假设它是典型的,你将只在阵列的第5个成员处用完空间。


0
投票

对于未来的探险家

我只需要将JSON格式转换为String

这是由JSON.stringify([{"value": value}])完成然后直接存储到sql database

然后JSON.parse("value")再次将其转换为JSON

© www.soinside.com 2019 - 2024. All rights reserved.