Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
se aplica a:SQL Server
Azure SQL Database
punto de conexión de Azure SQL Managed Instance
SQL Analytics en Microsoft Fabric
Warehouse en Microsoft Fabric
Construye texto de objeto JSON a partir de cero o más expresiones.
JSON_OBJECT ( [ <json_key_value> [,...n] ] [ json_null_clause ] )
<json_key_value> ::= json_key_name : value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Es una expresión de carácter que define el valor del nombre de clave JSON.
value_expression es una expresión que define el valor de la clave JSON.
Se puede usar para controlar el comportamiento de la función JSON_OBJECT cuando value_expression es NULL
. La opción NULL ON NULL
convierte el valor NULL
de SQL en un valor NULL de JSON al generar el valor del elemento de clave JSON. La opción ABSENT ON NULL
omitirá toda la clave si el valor es NULL
. La configuración predeterminada de esta opción es NULL ON NULL
.
Devuelve una cadena de objeto JSON válida de tipo nvarchar(max).
Para obtener más información sobre lo que se ve en la salida de la función JSON_OBJECT
, consulte los artículos siguientes:
Conversión por parte de FOR JSON de tipos de datos de SQL Server en tipos de datos JSON (SQL Server)
La función JSON_OBJECT
usa las reglas descritas en este artículo sobre FOR JSON
para convertir tipos de datos SQL a tipos JSON en la salida de objeto JSON.
Cómo FOR JSON inserta caracteres de escape en los caracteres especiales y caracteres de control (SQL Server)
La función JSON_OBJECT
inserta un carácter de escape en los caracteres especiales y representa los caracteres de control en la salida JSON como se describe en este artículo sobre FOR JSON
.
En el siguiente ejemplo se devuelve un objeto JSON vacío.
SELECT JSON_OBJECT();
Resultado
{}
En el ejemplo siguiente se devuelve un objeto JSON con dos claves.
SELECT JSON_OBJECT('name':'value', 'type':1)
Resultado
{"name":"value","type":1}
En el ejemplo siguiente se devuelve un objeto JSON con una clave, ya que el valor de una de las claves es NULL
y se ha especificado la opción ABSENT ON NULL
.
SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL)
Resultado
{"name":"value"}
En el ejemplo siguiente se devuelve un objeto JSON con dos claves. Una clave contiene una cadena JSON y otra clave contiene una matriz JSON.
SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(1, 2))
Resultado
{"name":"value","type":[1,2]}
En el ejemplo siguiente se devuelve un objeto JSON con dos claves. Una clave contiene una cadena JSON y otra clave contiene un objeto JSON.
SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':1, 'name':'a'))
Resultado
{"name":"value","type":{"type_id":1,"name":"a"}}
En el siguiente ejemplo se devuelve un objeto JSON con las entradas especificadas como variables o expresiones SQL.
DECLARE @id_key nvarchar(10) = N'id',@id_value nvarchar(64) = NEWID();
SELECT JSON_OBJECT('user_name':USER_NAME(), @id_key:@id_value, 'sid':(SELECT @@SPID))
Resultado
{"user_name":"dbo","id":"E2CBD8B4-13C1-4D2F-BFF7-E6D722F095FD","sid":63}
En el siguiente ejemplo se devuelve un objeto JSON por fila de la consulta.
SELECT s.session_id, JSON_OBJECT('security_id':s.security_id, 'login':s.login_name, 'status':s.status) as info
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;
Resultado
session_id |
info |
---|---|
51 |
{"security_id":"AQYAAAAAAAVQAAAAY/0dmFnai5oioQHh9eNArBIkYd4=","login":"NT SERVICE\\SQLTELEMETRY$SQL22" ,"status":"sleeping"} |
52 | {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"} |
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy