
# SQL JSON函数
#### 功能描述
JSON函数用于解析JSON对象或JSON数组，并从中提取值。
#### 语法格式
```
SELECT json_extract(Results, '$[0].EndTime')
```
#### JSON函数语句
表1JSON函数语句 
| 语句                  | 说明                                                            | 示例                               | 返回值类型           |
|:---|:---|:---|:---|
| json_extract        | 用于从JSON对象或JSON数组中提取一组JSON值（数组或对象）。                            | json_extract(x, json_path)       | JSON格式的string类型 |
| json_extract_scalar | 用于从JSON对象或JSON数组中提取一组标量值（字符串、整数或布尔值）。如果指定JSON路径下不是标量，则返回null。 | json_extract_scalar(x,json_path) | varchar类型       |
   
#### 示例及说明
- **json_extract** **函数**
  获取Results字段中EndTime字段的值。
  1. 字段样例
     ```
     Results:[{"EndTime":1626314520},{"FireResult":2}]
     ```
     
  
  2. 查询和分析语句
     ```
     SELECT json_extract(Results, '$[0].EndTime')
     ```
     
  
  3. 查询和分析结果
     表2查询和分析结果 
     | EXPR$0     |
     |:---|
     | 1626314520 |
        
     
   
- **json_extract_scalar** **函数**
  从Results字段中获取RawResultCount字段的值，并将这些值转换为bigint类型进行求和。
  1. 字段样例
     ```
     Results:[{"EndTime":1626314520},{"RawResultCount":1}]
     ```
     
  
  2. 查询和分析语句
     ```
     SELECT sum(cast(json_extract_scalar(Results,'$[1].RawResultCount') AS bigint) )
     ```
     
  
  3. 查询和分析结果
     表3查询和分析结果 
     | EXPR$0 |
     |:---|
     | 1546   |
        
     
   
 
