zoukankan      html  css  js  c++  java
  • sql coalesce()函数、datalength()函数介绍及应用

    Posted by 欧阳振华 on 2008-10-3 8:46:20
    1. select CONVERT(varchar(12) , getdate(), 101 )  
    2. 09/12/2004  
    3.  
    4. select CONVERT(varchar(12) , getdate(), 103 )  
    5. 12/09/2004  
    6.  
    7. select CONVERT(varchar(12) , getdate(), 104 )  
    8. 12.09.2004  
    9.  
    10. select CONVERT(varchar(12) , getdate(), 105 )  
    11. 12-09-2004  
    12.  
    13. select CONVERT(varchar(12) , getdate(), 106 )  
    14. 12 09 2004  
    15.  
    16. select CONVERT(varchar(12) , getdate(), 107 )  
    17. 09 12, 2004  
    18.  
    19. select CONVERT(varchar(12) , getdate(), 108 )  
    20. 11:06:08  
    21.  
    22. select CONVERT(varchar(12) , getdate(), 109 )  
    23. 09 12 2004 1   
    1. select CONVERT(varchar(12) , getdate(), 110 )  
    2. 09-12-2004         
    3. select CONVERT(varchar(12) , getdate(), 113 )  
    4. 12 09 2004 1  
    5.  
    6. select CONVERT(varchar(12) , getdate(), 114 )  
    7. 11:06:08.177  

    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数据类型*/
  • 相关阅读:
    iOS开发基础知识--碎片7
    python---ORM之SQLAlchemy(3)外键与relationship的关系
    python---ORM之SQLAlchemy(2)外键使用
    python---ORM之SQLAlchemy(1)
    python---自定义字段验证
    mysql -- 慢日志使用
    mysql -- 索引补充
    mysql -- 动态获取结果集(重点)
    mysql -- 逻辑语句
    mysql -- 事务
  • 原文地址:https://www.cnblogs.com/yuanzhengang/p/1329705.html
Copyright © 2011-2022 走看看