• sql中的几个函数


    right('1234',2)//34 从右边起取两位

    left('1234',2)//12 从左边起取两位

    stuff('abc',1,2,'d')//dc  从第一位起,删除2个,再添加d

    NULLIF ( expression , expression )//如果两个表达式不相等,NULLIF 返回第一个 expression 的值。如果相等,NULLIF 返回第一个 expression 类型的空值。

    COALESCE()//返回其参数中的第一个非空表达式

    1.
    DECLARE @T TABLE
    (
      tid INT
    )
    INSERT INTO @T
    SELECT 1 UNION ALL
    SELECT 2 UNION ALL
    SELECT 3 UNION ALL
    SELECT 4

    DECLARE @sql VARCHAR(50)
    SET @sql=''
    SELECT @sql=@sql+','+CAST(tid AS VARCHAR(4)) FROM @T

    PRINT right(@sql,LEN(@sql)-1)

    //执行结果

    (4 行受影响)
    1,2,3,4

    2.

    DECLARE @T TABLE
    (
      tid INT
    )
    INSERT INTO @T
    SELECT 1 UNION ALL
    SELECT 2 UNION ALL
    SELECT 3 UNION ALL
    SELECT 4

    DECLARE @sql VARCHAR(50)
    SET @sql=''
    SELECT @sql=@sql+','+CAST(tid AS VARCHAR(4)) FROM @T
    select stuff(@sql,1,1,'')

     //执行结果

    无列名

      无列名
    1

    1,2,3,4

    3.

    CREATE TABLE budgets
    (
       dept            tinyint   IDENTITY,
       current_year      decimal   NULL,
       previous_year   decimal   NULL
    )
    INSERT budgets VALUES(100000, 150000)
    INSERT budgets VALUES(NULL, 300000)
    INSERT budgets VALUES(0, 100000)
    INSERT budgets VALUES(NULL, 150000)
    INSERT budgets VALUES(300000, 250000)
    insert budgets values(null,0)
    GO 
    SET NOCOUNT OFF
    SELECT avg(NULLIF(COALESCE(current_year,previous_year), 0.00)) AS 'Average Budget' FROM budgets

    Average Budget                          
    ----------------------------------------
    212500.000000

  • 相关阅读:
    java自定义注解教程
    java8 LocalDateTime时间格式化
    java8新特性Stream用法详解
    java将数组转换成list集合
    elestaticsearch原生写法创建mapping
    springboot-mybatis-plus生成器
    jQuery.bind() 函数详解
    CSS3 中的 rem 值与 px 之间的换算
    console.log的应用
    JQuery中$(document)是什么意思有什么作用
  • 原文地址:https://www.cnblogs.com/blncle/p/2407728.html
Copyright © 2020-2023  润新知