zoukankan      html  css  js  c++  java
  • 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数据类型*/

  • 相关阅读:
    LR杂记-nmon+analyser监控linux系统资源
    accept函数
    android performClick使用
    #line 的作用是改变当前行数和文件名称
    C++常用排序法、随机数
    C语言运算符优先级及结合性
    如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.
    NumPy
    Rational Rose、PowerDesign、Visio的一些比较
    vld,Bounds Checker,memwatch,mtrace,valgrind,debug_new几种内存泄露检测工具的比较,Valgrind Cheatsheet
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2048580.html
Copyright © 2011-2022 走看看