如何从 SQL 查询返回默认值 [英] How to return default value from SQL query

查看:111
本文介绍了如何从 SQL 查询返回默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果查询没有返回任何行,是否有任何简单的方法可以返回单个标量或默认值?

Is there any easy way to return single scalar or default value if query doesn't return any row?

此时我有这样的代码示例:

At this moment I have something like this code example:

IF (EXISTS (SELECT * FROM Users WHERE Id = @UserId))  
    SELECT Name FROM Users WHERE Id = @UserId  
ELSE
    --default value
    SELECT 'John Doe'

如何在不使用 IF-ELSE 的情况下以更好的方式做到这一点?

How to do that in better way without using IF-ELSE?

推荐答案

假设名称不可为空并且 Id 是唯一的,因此最多可以匹配一行.

Assuming the name is not nullable and that Id is unique so can match at most one row.

 SELECT 
    ISNULL(MAX(Name),'John Doe')
 FROM 
    Users 
 WHERE 
    Id = @UserId  

这篇关于如何从 SQL 查询返回默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆