Sql 当一列为空时,则从另一列获取数据
希望你能帮忙。不显示整个查询,因为我认为这不是必需的,但希望尝试获取查询,以查看“street”中是否有空值,然后查看“free address”并将结果放入其中。我猜它包含一个case表达式或concat 当前结果Sql 当一列为空时,则从另一列获取数据,sql,Sql,希望你能帮忙。不显示整个查询,因为我认为这不是必需的,但希望尝试获取查询,以查看“street”中是否有空值,然后查看“free address”并将结果放入其中。我猜它包含一个case表达式或concat 当前结果 SELECT IdNum street free address from ID IdNum street free address 1 stack over flow n
SELECT
IdNum
street
free address
from ID
IdNum street free address
1 stack over flow null
2 null stack exchange
3 downing street null
所需结果-注意,无需显示“地址”列,仅用于演示
IdNum street free address
1 stack over flow null
2 stack exchange stack exchange
3 downing street null
非常感谢您的帮助,COALESCE()
函数执行以下操作:
SELECT IdNum,
COALESCE(street, free_address) as street,
free_address
FROM ID;
注意:ID
是表的奇怪名称,free address
不是有效的列名(因为空格)
COALESCE()
基本上是所有数据库中可用的ANSI标准函数。COALESCE()
函数执行以下操作:
SELECT IdNum,
COALESCE(street, free_address) as street,
free_address
FROM ID;
注意:ID
是表的奇怪名称,free address
不是有效的列名(因为空格)
COALESCE()
基本上是所有数据库中可用的ANSI标准函数。使用COALESCE()
函数,它可以用您选择的替代值替换NULL
值:
SELECT IdNum, COALESCE(street, `free address`) AS street, `free address`
FROM ID
使用COALESCE()
函数,该函数可以用您选择的替代值替换NULL
值:
SELECT IdNum, COALESCE(street, `free address`) AS street, `free address`
FROM ID
您可以使用
CASE
、COALESCE
或(在SQL Server中)ISNULL
:
SELECT IdNum,
CASE WHEN street IS NULL THEN free_address ELSE street END as street,
free_address
FROM ID;
SELECT IdNum,
COALESCE(street, free_address) as street,
free_address
FROM ID;
SELECT IdNum,
ISNULL(street, free_address) as street,
free_address
FROM ID;
您可以使用
CASE
、COALESCE
或(在SQL Server中)ISNULL
:
SELECT IdNum,
CASE WHEN street IS NULL THEN free_address ELSE street END as street,
free_address
FROM ID;
SELECT IdNum,
COALESCE(street, free_address) as street,
free_address
FROM ID;
SELECT IdNum,
ISNULL(street, free_address) as street,
free_address
FROM ID;
根据您正在使用的数据库,您可以使用
ISNULL
、NVL
、IFNULL
或COALESCE
在这里选择正确的一个:根据您正在使用的数据库,您可以使用
ISNULL
、NVL
、IFNULL
或COALESCE
在此处选择正确的选项:如果使用SQL Server,可以使用以下选项
Select [IdNum],
Case
When [street] Is Null AND [free address] Is Not Null
Then [free address] else [street] END As 'street',
[free address]
from ID
如果使用SQL Server,则可以使用以下命令
Select [IdNum],
Case
When [street] Is Null AND [free address] Is Not Null
Then [free address] else [street] END As 'street',
[free address]
from ID
Isnull(street,freemaddress)将正常工作lll(street,freemaddress)将正常工作非常感谢所有对此做出贡献的人,我完全想过头了!感谢的最好方式是接受正确的答案。非常感谢所有对此做出贡献的人,我完全想得太多了!感谢的最好方式是接受正确的答案。