首页 > 数据库 >sql server 中 COALESCE()函数的使用

sql server 中 COALESCE()函数的使用

时间:2023-05-15 15:58:04浏览次数:49  
标签:FBirthDay FRegDay 函数 server 空值 COALESCE sql expression

一、sql server 中coalesce函数的介绍

COALESCE ( expression,value1,value2……,valuen) ;

 

COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。

COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。

如果expression不为空值则返回expression;否则判断value1是否是空值,

如果value1不为空值则返回value1;否则判断value2是否是空值,如果value2不为空值则返回value3;……以此类推。

 

二、sql server 中coalesce函数的用法

  COALESCE( CONVERT(CHAR(10),min(dGzrq),121),CONVERT(CHAR(10),YSKSRQ,121),null) 印刷开始时间,

该条语句表明:当 dGzrq为空时,返回YSKSRQ,当dGzrq不为空时,则返回dGzrq.

 

三、扩展资料

COALESCE()函数可以用来完成几乎所有的空值处理,不过在很多数据库系统中都提供了它的简化版,这些简化版中只接受两个变量, 

比如SQL语句用于返回人员的“重要日期”,如果出生日期不为空则将出生日期作为“重要日期”,如果出生日期为空则返回注册日期的值:

 

MYSQL: 

IFNULL(expression,value)

 

SELECT FBirthDay,FRegDay,IFNULL(FBirthDay,FRegDay) AS ImportDay FROM T_Person

 

MSSQLServer: 

ISNULL(expression,value)

 

SELECT FBirthDay,FRegDay,ISNULL(FBirthDay,FRegDay) AS ImportDay  FROM T_Person

 

Oracle: 

NVL(expression,value)

  

SELECT FBirthDay,FRegDay,NVL(FBirthDay,FRegDay) AS ImportDay FROM T_Person

 

这几个函数的功能和COALESCE(expression,value)是等价的。 

 

 

标签:FBirthDay,FRegDay,函数,server,空值,COALESCE,sql,expression
From: https://www.cnblogs.com/wuweiblog/p/17402118.html

相关文章

  • mysql ssl
    服务器提示:Causedby:javax.net.ssl.SSLHandshakeException:Remotehostclosedconnectionduringhandshake,atsun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1002)~[na:1.8.0_161],atsun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSoc......
  • mysql终止慢查询进程
    要终止执行慢查询的MySQL进程,你可以使用`KILL`语句。以下是在MySQL中使用`KILL`语句终止慢查询的一般步骤:1.首先,使用以下命令查找正在执行的慢查询的进程ID(也称为线程ID):SHOWFULLPROCESSLIST;这将显示当前正在执行的所有MySQL进程的列表,包括进程ID、执行时间和查询语句。2......
  • SQL Server 夸数据库查询
    数据需要在两个服务器之间的数据库查询DB1DB2  1.安装MicrosoftSQLServerDataTools 2.把DB1里面要查询的表保存成csv文件,命个名假设叫f.csv3.安装路径里面C:\ProgramFiles(x86)\MicrosoftSQLServer\130\DTS\BinnDTSWizards.exe 点开这个文件选择Fla......
  • CAS Server 搭建
    1、CASServer下载,我这里选择了5.3的版本,下载地址https://github.com/apereo/cas-overlay-template/tree/5.32、HTTPS证书生成,我是用JDK自带的keytool工具生成的,进入JDK安装目录,在bin目录下打开cmd,输入以下命令行就可以生成证书了keytool-genkey-aliascasserver-keya......
  • SQL Server中 函数 ROW_NUMBER()OVER 的使用
    ROW_NUMBER()OVER,它为结果集的分区中的每一行分配一个连续的整数。行号以每个分区中第一行的行号开头。语法实例:SELECTROW_NUMBER()OVER(PARTITIONBYttTJ.ID_TeamsORDERBY(SELECTNULL))ASRowNumFROMscDayRpt_Teams_JobContentttTJ在上面语法中:PAR......
  • NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成
    VeritasNetBackup10.2(Unix,Linux,Windows)下载-一流的企业备份和恢复原文来自:VERITAS中文社区2023-04-27在执行恢复任务时,手动提取、更新数据库和实例并将其附加到PostgreSQL和MySQL是常规操作。而在最新的NetBackup10.2版本中,执行恢复已不再需要上述手动流程......
  • 安装 MySQL 数据库
    1、默认yum存储库安装[[email protected]~]#yum-yinstallwget  #安装wget下载工具[[email protected]~]#wgethttps://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm#下载mysql官方yum源安装包[[email protected]~]#yum-ylocalinstallmysql......
  • Centos7下搭建PostgreSQL关系型数据库
     ALTERUSERpostgresENCRYPTEDPASSWORD'postgres123';   10、开放端口firewall-cmd--query-port=5432/tcpfirewall-cmd--add-port=5432/tcpfirewall-cmd--add-port=5432/tcp--zone=public--permanent 11、重新启动systemctlrestartpostgresql-11 ......
  • MYSQL数据库之事务隔离级别详解
    本系列为:MySQL数据库详解,为千锋资深教学老师独家创作致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!前言从今天开始本系列内容就带各位小伙伴学习......
  • Postgresql安装备份注意事项
    1.目标数据库准备     2.口令形式还原数据库主要步骤第一步:需要建一个空白的【hyl_jidian】的数据库;第二步:找到PG库安装位置,进入bin目录,默认位置:C:\ProgramFiles\PostgreSQL\13\bin第三步:执行【psql-hlocalhost-p5432-Upostgres-dhyl_jidian<C:\hyl_jidian......