本文介绍了如何从 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 查询返回默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!