• 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

  • 相关阅读:
    Python中下划线---完全解读(转)
    数字、基数及表示
    实现二叉排序树的各种算法
    shell脚本 空格
    Linux中执行shell脚本的4种方法
    vim常用命令总结
    Linux 奇技淫巧
    排序算法之二分治法
    二分查找
    排序算法之一插入排序
  • 原文地址:https://www.cnblogs.com/blncle/p/2407728.html
Copyright © 2020-2023  润新知