无效的类型 integer 输入语法: ""
时间: 2023-08-07 21:02:06 浏览: 125
根据你提供的SQL查询语句,看起来问题出在了你的SELECT语句中的xhd::INTEGER这一行。这个语法无效导致出现了"无效的类型 integer 输入语法: ''"的错误。这个错误通常是由于尝试将一个空字符串转换为整数类型所导致的。
请检查你的查询中xhd这一列的数据类型,并确保它是一个有效的整数类型。如果xhd列的数据类型是字符型(varchar或text),你可以使用CAST或CONVERT函数来将其转换为整数类型。
例如,如果xhd列的数据类型是varchar,你可以在SELECT语句中使用如下语法来进行转换:
```sql
CAST(xhd AS INTEGER)
```
或者
```sql
CONVERT(xhd, INTEGER)
```
请根据你的实际情况进行相应的更改,并重新运行查询。如果你需要进一步的帮助,请提供更多关于表结构和数据类型的信息。
相关问题
postgresql 无效的类型 integer 输入语法: ""
根据你提供的SQL查询语句,看起来问题出在你的SELECT语句中的xhd::INTEGER这一行。这个错误通常是由于尝试将一个空字符串转换为整数类型所导致的。
在你的查询中,当C.carton_num不符合'CICU%'或'NCSE%'的条件时,xhd列可能会返回空字符串。然后尝试将空字符串转换为整数类型时,就会出现"无效的类型 integer 输入语法: ''"的错误。
为了解决这个问题,你可以使用NULLIF函数将空字符串转换为NULL值,然后再使用COALESCE函数将NULL值转换为适当的默认值。下面是一个示例:
```sql
CASE
WHEN C.carton_num LIKE 'CICU%' THEN (SUBSTRING(C.carton_num, 5, 6))::INTEGER
WHEN C.carton_num LIKE 'NCSE%' THEN (SUBSTRING(C.carton_num, 8, 6))::INTEGER
ELSE NULL
END AS xhd
...
COALESCE(xhd, 0) AS xhd_integer
```
在上面的示例中,如果xhd列为空值(即不符合'CICU%'和'NCSE%'条件),它将被转换为NULL。然后,使用COALESCE函数将NULL值转换为默认值0。
请根据你的实际情况进行相应的更改,并重新运行查询。如果你需要进一步的帮助,请提供更多关于表结构和数据类型的信息。
PG数据库SQL 错误 [22P02]: 错误: 无效的类型 integer 输入语法: "DRG无结果"
这个错误是由于在 PG 数据库的查询语句中,你试图将一个字符串类型的值 "DRG无结果" 插入到一个整数类型的列中,导致类型不匹配,从而引发了错误。你需要检查一下该列的数据类型是否正确,并确保插入的值与该列的数据类型相匹配。如果你需要将字符串类型的值插入到整数类型的列中,你需要将该字符串类型的值转换成整数类型的值,例如使用 CAST 函数或者使用合适的数据转换方法。在 PG 中,你可以使用 `CAST(value AS type)` 函数将一个值转换成指定的类型。例如,将字符串 "123" 转换成整数类型可以使用以下语句:
```sql
SELECT CAST('123' AS INTEGER);
```
这将返回整数类型的值 123。