• sql coalesce()函数、datalength()函数介绍及应用


    1、COALESCE()函数

    ---简介---
    T-SQL的COALESCE()函数能够让你指定多个表达式,而且COALESCE()会返回组里第一个非空的值。要使用下面的形式,其中expression可以是任何数据类型,并能够等于大多数合法的表达式:
    COALESCE (expression [,…n])--(与CASE函数等价)

    CASE
        WHEN (expression1 IS NOT NULL) THEN expression1
        ...
        WHEN (expressionN IS NOT NULL) THEN expressionN
        ELSE NULL

    如果所有自变量(expression1-N)均为 NULL,则 COALESCE 返回 NULL 值。

    ---示例---
    create database dbTest
    use dbTest
    create table basic
    (
    [id] int identity(1,1) primary key,
    [length] decimal null,
    [height] decimal null,
    [width] decimal null
    )

    插入一条数据:
    insert into basic values(null,null,null)
    查询语句:
    select coalesce(length,height,width) from basic

    --查询结果:NULL

    插入下列数据:
    insert into basic values(1.00,null,null)
    insert into basic values(2.00,null,null)
    insert into basic values(3.00,null,null)
    insert into basic values(null,4.00,null)
    insert into basic values(null,5.00,null)
    insert into basic values(null,6.00,null)
    insert into basic values(null,null,7.00)
    insert into basic values(null,null,8.00)
    insert into basic values(null,null,9.00)

    查询语句:
    ★ select coalesce(max(height),0)+1.00 from basic
    ★ select cast(coalesce(length * 2, height, width * 3) as decimal ) as 'Total List' from basic

    查询结果:
    ★7.00
    ★2、4、6、4、5、6、21、24、27;
    /*我们一般用它来检索索引(顺序号,层次号),最大者id*/

    2、DATALENGTH()函数

    ---简介---

    返回任何表达式所占用的字节数。
    DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。

    NULL 的 DATALENGTH 的结果是 NULL。

    ---示例---

    以上例为准,查询语句:
    select datalength(width) from basic

    查询结果:NULL、NULL、NULL、NULL、NULL、NULL、5、5、5(也就是decimal表达式占用地字节数为5,int 为4,你可以试试其它的sql数据类型)

    /*我们一般用于查询将image,varbinary数据类型*/

  • 相关阅读:
    QtqGetPtrHelper
    频谱仪原理
    相位噪声
    上行频率和下行频率
    频谱仪显示:IF OVLD
    C++模板定义时: error: undefined reference to XXX
    Js键值对类型
    策略模式
    射频通信领域的带宽与频率
    Constructor for '' must explicitly initialize the reference member
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2048580.html
Copyright © 2020-2023  润新知