Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回SQL中的默认值_Sql_Sql Server - Fatal编程技术网

返回SQL中的默认值

返回SQL中的默认值,sql,sql-server,Sql,Sql Server,我有一个SQL查询: SELECT ISNULL(VALUE, '-99') FROM PM_VALUE WHERE ELEMENT_NAME = 'LL' 问题是,如果上面的查询找不到元素\u NAME='LL'条件的任何记录,那么它显然不会返回任何内容 如果没有记录,是否有任何方法可以更新它以返回默认值(EX.-99)?我有一个要求,默认情况下我们需要一些值。如果您希望where子句最多有一个匹配项,那么最简单的方法是聚合: SELECT COALESCE(MAX(VALUE), '-

我有一个SQL查询:

SELECT ISNULL(VALUE, '-99') 
FROM PM_VALUE 
WHERE ELEMENT_NAME = 'LL'
问题是,如果上面的查询找不到
元素\u NAME='LL'
条件的任何记录,那么它显然不会返回任何内容


如果没有记录,是否有任何方法可以更新它以返回默认值
(EX.-99)
?我有一个要求,默认情况下我们需要一些值。

如果您希望
where
子句最多有一个匹配项,那么最简单的方法是聚合:

SELECT COALESCE(MAX(VALUE), '-99')
FROM PM_VALUE
WHERE ELEMENT_NAME = 'LL';

不带分组依据的聚合查询只返回一行。如果没有任何内容与
WHERE
匹配,则聚合列将为
NULL
COALESCE()
NULL
转换为默认值。

我认为DB2会在这种情况下发出警告。@Hogan。真正地警告是什么?这种行为是基于SQL语言定义的(尽管DB2确实可以追溯到标准出现之前SQL的黑暗时期)。聚合中跳过了NULL值之类的东西——记不清了,但这就是它的要点。完全可以忽略的警告,但如果你像我一样,根本不想要任何警告信息……为什么不尝试只添加一个案例陈述-在内部,这些内置的联合,nvl等使用相同的逻辑