0
空的JSON數組我有像一些隨機數據的數據庫:如何返回從SQL Server
書:
Id uniqueidentifier,
title nvarchar(255),
author nvarchar(255),
genre nvarchar (255),
deleted datetime
我有我Book
表許多不同的書籍。當我想刪除一本書時,我真的不會從數據庫中刪除它,但只要將其刪除時的日期時間設置爲deleted
即可。
這是一個困擾我的案例。
如果用戶試圖尋找(搜索)一書中,他刪除(這不存在了),它需要返回空數組
這裏是我做了什麼,但它不工作:
CREATE PROCEDURE dbo.Book_GetById
@id uniqueidentifier
AS
BEGIN
DECLARE @_deleted DATETIME
SET @_deleted = NULL
SELECT @_deleted = Deleted
FROM Book
WHERE Id = @id
IF (@_deleted IS NOT NULL)
BEGIN
SELECT JSON_QUERY('[]')
FOR JSON PATH
這是不是整個過程,只是一部分,我想如果刪除檢查,返回一個空的JSON數組不爲null,則意味着存在該行的日期時間集 - 薄中刪除(如果它爲空,則不會被刪除)。
請幫忙!
PS1:如果還有其他更好的方法比空數組,ID也喜歡聽到它呢!
PS2:我需要在我的單元測試,以「迴歸」的數據,看看書真的通過檢查Assert.IsNotNull(book.Deleted);
當我運行我的調試器在單元測試中,當我跨過,我var books
說刪除null
,我覺得不是很合適我想
這就是我得到...未使用名稱或別名的列表達式和數據源無法使用FOR JSON子句格式化爲JSON文本。將別名添加到未命名的列或表。 – aiden87
它確實像那樣工作。 SELECT JSON_QUERY('[]')arr – aiden87
我從來沒有說過要使用'JSON_QUERY'或'FOR JSON' - 如果沒有,就會得到純文本。 –