2015-10-13 34 views
2

我想創建一個MSSQL標量函數來將字符串轉換爲有效的JSON。據我可以告訴換行符,返回和引號字符是一個問題,但我找不到一個完整的列表或一個完整的功能。MSSQL函數將字符串轉換爲有效的JSON

這是我到目前爲止有:

Create Function [dbo].[StringToJSON] 
(@MyString as varchar(Max)) 
Returns varchar(Max) 
As 
Begin 
    --NULL 
    Set @MyString = Replace(@MyString,CHAR(0),' '); 
    --Horizontal Tab 
    Set @MyString = Replace(@MyString,CHAR(9),' '); 
    --Line Feed 
    Set @MyString = Replace(@MyString,CHAR(10),'\n'); 
    --Vertical Tab 
    Set @MyString = Replace(@MyString,CHAR(11),' '); 
    --Form Feed 
    Set @MyString = Replace(@MyString,CHAR(12),'\n'); 
    --Carriage Return 
    Set @MyString = Replace(@MyString,CHAR(13),'\n'); 
    --Column Break 
    Set @MyString = Replace(@MyString,CHAR(14),' '); 
    --Non-breaking space 
    Set @MyString = Replace(@MyString,CHAR(160),''); 

    Set @MyString = LTRIM(RTRIM(@MyString)); 
    Return @MyString 
End 
Go 
+1

這個環節提到其他字符:https://msdn.microsoft.com/en -us/library/dn921889.aspx –

+0

謝謝!該鏈接中真正有趣的是內置支持在SQL Server 2016中輸出JSON - 太糟糕了,它不在早期版本中 – flan

+0

如果您認爲該問題可以標記爲已回答,則可以將答案標記爲有效,我只是發佈了我的先前的評論作爲答案。謝謝。 –

回答