Byr*_*ock 239 sql-server postgresql null
在MS SQL-Server中,我可以这样做:
SELECT ISNULL(Field,'Empty') from Table
但是在PostgreSQL中我遇到了语法错误.我如何模拟ISNULL()
功能?
Kyl*_*utt 430
SELECT CASE WHEN field IS NULL THEN 'Empty' ELSE field END AS field_alias
Run Code Online (Sandbox Code Playgroud)
或者更惯用的:
SELECT coalesce(field, 'Empty') AS field_alias
Run Code Online (Sandbox Code Playgroud)
Jim*_*use 72
COALESCE()
改为使用:
SELECT COALESCE(Field,'Empty') from Table;
Run Code Online (Sandbox Code Playgroud)
它的功能很像ISNULL
,虽然提供了更多的功能.Coalesce将返回列表中的第一个非null值.从而:
SELECT COALESCE(null, null, 5);
Run Code Online (Sandbox Code Playgroud)
返回5,而
SELECT COALESCE(null, 2, 5);
Run Code Online (Sandbox Code Playgroud)
返回2
Coalesce将采取大量的论点.没有记录的最大值.我测试了它将100个参数并且它成功了.对于绝大多数情况来说,这应该是充足的.
小智 23
如何模拟ISNULL()功能?
SELECT (Field IS NULL) FROM ...
Run Code Online (Sandbox Code Playgroud)
小智 15
尝试:
SELECT COALESCE(NULLIF(field, ''), another_field) FROM table_name
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
238651 次 |
最近记录: |