如何在使用SQL Server Management Studio 12.7生成json的列名中输出没有回车的json文件

时间:2018-06-17 00:39:15

标签: json sql-server bcp

存储过程中bcp生成的JSON文件存在问题。

列名称有回车符。所以Web服务器不理解JSON。

像这样:

1。 "leo_profit":-0.0748},{"ID":28977,"annual_profit":-0.84,"ttp":-455.8405,

2 "leo_profit":-0.0748},{"ID":28977,"annual_profit":-0.84,"ttp":-455.8405,

第一个是由SQL Server 2017的存储过程中的bcp生成的,如您所见,列名“ann”和“ual_profit”之间存在CR。 annual_profit是列名。

第二个是Web服务器可以理解的JSON格式。

如何在存储过程中生成bcp而列名之间没有任何CR?

2 个答案:

答案 0 :(得分:0)

DECLARE @command    VARCHAR(1000)   
SET @command = 'BCP "EXEC mdrcoin.dbo.SP_Get_ANNUAL_PROFIT_FOR_JSON " queryout "D:\inetpub\json\SP_Get_ANNUAL_PROFIT.json" -c -T -t "|" '
EXEC xp_cmdshell @command

bcp正在上面显示的存储过程中运行。

答案 1 :(得分:0)

SELECT TOP 7200 
        ID, 
        CAST(annual_profit AS DECIMAL(20,2)) AS annual_profit, 
        CAST(ttp AS DECIMAL(20,4)) AS ttp, 
        tr_year, 
        tr_month, 
        tr_day, 
        tr_hour, 
        tr_min, 
        CAST(btc AS DECIMAL(20,1)) AS btc, 
        CAST(cash_rate AS DECIMAL(20,4)) AS cash_rate, 
        CAST(leo_profit AS DECIMAL(20,4)) AS leo_profit
    FROM [dbo].[Q_annual_profit_flow] 
    ORDER BY tr_date DESC 
    FOR JSON path

这是另一个名为SP_Get_ANNUAL_PROFIT_FOR_JSON

的存储过程