SQL SERVER 学习笔记

系统 1598 0
      
        --
      
      
        - 转小写  输出:abcdef
      
      
        SELECT
      
      
        Lower
      
      (
      
        '
      
      
        aBCDEF
      
      
        '
      
      
        );




      
      
        --
      
      
        - 转大写 输出:ABCDEF
      
      
        SELECT
      
      
        UPPER
      
      (
      
        '
      
      
        ABcdef
      
      
        '
      
      
        );




      
      
        --
      
      
         去左空格  ->'ABCDEF   '
      
      
        SELECT
      
      
        LTRIM
      
      (
      
        '
      
      
           ABCDEF   
      
      
        '
      
      
        );




      
      
        --
      
      
         去右空格  ->'   ABCDEF'
      
      
        SELECT
      
      
        RTRIM
      
      (
      
        '
      
      
           ABCDEF   
      
      
        '
      
      
        );  




      
      
        --
      
      
          从左截取字符串      ->abcde
      
      
        SELECT
      
      
        LEFT
      
      (
      
        '
      
      
        abcdefg123456
      
      
        '
      
      ,
      
        5
      
      
        );






      
      
        --
      
      
          从左截取字符串      ->23456
      
      
        SELECT
      
      
        RIGHT
      
      (
      
        '
      
      
        abcdefg123456
      
      
        '
      
      ,
      
        5
      
      
        );




      
      
        --
      
      
        - 查询传入字符起始位置 为0
      
      
        SELECT
      
      
        CHARINDEX
      
      (
      
        '
      
      
        a
      
      
        '
      
      ,
      
        '
      
      
        ab
      
      
        '
      
      
        )






      
      
        --
      
      
        - 截取字符串  如: 从第三个字符开始截取两个长度,输出:cd
      
      
        SELECT
      
      
        SUBSTRING
      
      (
      
        '
      
      
        abcdefghi
      
      
        '
      
      ,
      
        3
      
      ,
      
        2
      
      
        )




      
      
        --
      
      
        - 替换字符串  输出:A4CDEFG4AC
      
      
        SELECT
      
      
        REPLACE
      
      (
      
        '
      
      
        ABCDEFGBAC
      
      
        '
      
      ,
      
        '
      
      
        B
      
      
        '
      
      ,
      
        4
      
      
        );






      
      
        --
      
      
        - 以指定的次数重复字符串值   输出:ABAB
      
      
        SELECT
      
      
        REPLICATE
      
      (
      
        '
      
      
        AB
      
      
        '
      
      , 
      
        2
      
      
        )




      
      
        --
      
      
        -  返回字符串值的逆序  输出 :FEDCBA
      
      
        SELECT
      
      
        REVERSE
      
       (
      
        '
      
      
        ABCDEF
      
      
        '
      
      
        )




      
      
        --
      
      
        - 数据类型转换  输出:13
      
      
        SELECT
      
      
        CAST
      
      (
      
        '
      
      
        3
      
      
        '
      
      
        as
      
      
        int
      
      )
      
        +
      
      
        10
      
      
        --
      
      
        -- 时间:----
      
      
        

--
      
      
         获取现在时间  输出:2013-03-19 16:17:27.437
      
      
        select
      
      
        GETDATE
      
      
        ();




      
      
        --
      
      
        - 获取日期
      
      
        select
      
      
        day
      
      (
      
        GETDATE
      
      
        ());






      
      
        --
      
      
        - 获取年
      
      
        select
      
      
        year
      
      (
      
        GETDATE
      
      
        ());




      
      
        --
      
      
        - 获取月份
      
      
        select
      
      
        MONTH
      
      (
      
        GETDATE
      
      
        ());




      
      
        --
      
      
        -  添加时间   YEAR,DAY,HOUR,MONTH
      
      
        

--
      
      
         添加时间:输出 2023-03-19 16:20:06.763
      
      
        select
      
      
        dateadd
      
      (
      
        YEAR
      
      ,
      
        10
      
      ,
      
        GETDATE
      
      
        ());






      
      
        --
      
      
        - DATENAME (<datepart>, <date>) 
      
      
        

--
      
      
          以字符串的形式返回日期的指定部分此部分。由datepart 来指定。
      
      
        SELECT
      
      
        DATENAME
      
      (
      
        year
      
      ,
      
        GETDATE
      
      
        ());




      
      
        --
      
      
        -DATEPART (<datepart>, <date>)
      
      
        

--
      
      
        -以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
      
      
        SELECT
      
      
        DATEPART
      
      (yy, 
      
        GETDATE
      
      ());   
      
        --
      
      
         相当于 year(getdate())
      
      
        SELECT
      
      
        DATEPART
      
      (mm, 
      
        GETDATE
      
      ());   
      
        --
      
      
         相当于 month(getdate())
      
      
        SELECT
      
      
        DATEPART
      
      (dd, 
      
        GETDATE
      
      ());   
      
        --
      
      
         相当于 day(getdate())
      
      
        SELECT
      
      
        DATEPART
      
      (hh, 
      
        GETDATE
      
      
        ());






      
      
        --
      
      
        -- 时间格式化函数
      
      
        Select
      
      
        CONVERT
      
      (
      
        varchar
      
      (
      
        100
      
      ), 
      
        GETDATE
      
      (), 
      
        20
      
      );   
      
        --
      
      
        2013-03-19 16:34:50
      
      
        Select
      
      
        CONVERT
      
      (
      
        varchar
      
      (
      
        100
      
      ), 
      
        GETDATE
      
      (), 
      
        23
      
      );   
      
        --
      
      
        2013-03-19
      
      
        Select
      
      
        CONVERT
      
      (
      
        varchar
      
      (
      
        100
      
      ), 
      
        GETDATE
      
      (), 
      
        8
      
      );    
      
        --
      
      
        16:35:54
      
      
        --
      
      
        - DateDIFF  比较时间   输出:6
      
      
        SELECT
      
      
        DATEDIFF
      
      (hh, 
      
        '
      
      
        2013-03-19 12:34:50
      
      
        '
      
      , 
      
        '
      
      
        2013-03-19 18:34:50
      
      
        '
      
      
        )






      
      
        --
      
      
        - 常用 统计函数
      
      
        

/*
      
      
        

AVG ( ) -返回的平均价值 

count( ) -返回的行数 

first( ) -返回第一个值 

last( ) -返回最后一个值 

max( ) -返回的最大价值 

min( ) -返回最小的价值 

total( ) -返回的总和


      
      
        */
      
      
        --
      
      
        - row_number
      
      
        select
      
       row_number() 
      
        over
      
      (
      
        order
      
      
        by
      
       field1) 
      
        as
      
       row_number,
      
        *
      
      
        from
      
       t_table
    

 行转列:

SQL SERVER 学习笔记

      
        SELECT
      
      
        [
      
      
        DAY
      
      
        ]
      
       ,
      
        sum
      
      ( 
      
        CASE
      
        result 
      
        WHEN
      
      
        '
      
      
      
        '
      
      
        then
      
      
        1
      
      
        else
      
      
        0
      
      
        end
      
      ) 
      
        as
      
       胜,
      
        sum
      
      ( 
      
        CASE
      
        result  
      
        WHEN
      
      
        '
      
      
      
        '
      
      
        then
      
      
        1
      
      
        else
      
      
        0
      
      
        end
      
       ) 
      
        as
      
        from
      
        test 
      
        GROUP
      
      
        BY
      
      
        [
      
      
        day
      
      
        ]
      
    

SQL SERVER 学习笔记

游标:

SQL SERVER 学习笔记

事务

      
        BEGIN
      
      
        TRAN
      
      
        update
      
       Blog 
      
        set
      
       name
      
        =
      
      name
      
        +
      
      
        '
      
      
        Rhythmk
      
      
        '
      
      
        where
      
       Id
      
        =
      
      
        '
      
      
        04C65E2C-E604-4295-9F20-0004B72DE0B4
      
      
        '
      
      
        select
      
      
        CAST
      
      (
      
        '
      
      
        107a
      
      
        '
      
      
        as
      
      
        INT
      
      
        )




      
      
        if
      
      
        @@error
      
      
        <>
      
      
        0
      
      
        BEGIN
      
      
        SELECT
      
      
        '
      
      
        A
      
      
        '
      
      
        ROLLBACK
      
      
        TRAN
      
      
        END
      
      
        ELSE
      
      
        BEGIN
      
      
        SELECT
      
      
        '
      
      
        B
      
      
        '
      
      
        COMMIT
      
      
        TRAN
      
      
        END
      
    

 第二种写法

      
        BEGIN
      
      
        TRAN
      
      
        UPDATE
      
       BlogCate   
      
        SET
      
       name 
      
        =
      
       name 
      
        +
      
      
        '
      
      
        Rhythmk
      
      
        '
      
      
        WHERE
      
         Id 
      
        =
      
      
        '
      
      
        04C65E2C-E604-4295-9F20-0004B72DE0B4
      
      
        '
      
      
        SELECT
      
      
        CAST
      
       (
      
        '
      
      
        107
      
      
        '
      
      
        AS
      
      
        INT
      
      
        )

    
      
      
        BEGIN
      
      
          try 

     
      
      
        SELECT
      
      
        '
      
      
        B
      
      
        '
      
      
        COMMIT
      
      
        TRAN
      
      
        END
      
      
         try

  
      
      
        BEGIN
      
      
             catch

    
      
      
        SELECT
      
      
        '
      
      
        A
      
      
        '
      
      
        ROLLBACK
      
      
        TRAN
      
      
        END
      
       catch
    

 

 

不使用游标 循环执行此处过程:

  可以先生成临时表,然后循环取数据

      
        --
      
      
        --  不使用游标,循环执行存储过程
      
      
        DECLARE
      
      
        @ItemCount
      
      
        INT
      
      ,
      
        @GUID
      
      
        UNIQUEIDENTIFIER
      
      
        SET
      
      
        @ItemCount
      
      
        =
      
      
        0
      
      
        SELECT
      
      
        @ItemCount
      
      
        =
      
      
        COUNT
      
      (
      
        *
      
      )  
      
        FROM
      
      
          dbo.data_dict


      
      
        SELECT
      
      
        TOP
      
      
        1
      
      
        @GUID
      
      
        =
      
      GUID  
      
        FROM
      
      
          dbo.data_dict


      
      
        WHILE
      
      
        @ItemCount
      
      
        >
      
      
        0
      
      
        BEGIN
      
      
        DELETE
      
      
        FROM
      
       data_dict 
      
        WHERE
      
       GUID
      
        =
      
      
        @GUID
      
      
        --
      
      
         执行存储过程
      
      
        EXEC
      
       PROC_INSERT_A  
      
        1
      
      
        SELECT
      
      
        TOP
      
      
        1
      
      
        @GUID
      
      
        =
      
      GUID  
      
        FROM
      
      
          dbo.data_dict

  
      
      
        SELECT
      
      
        @ItemCount
      
      
        =
      
      
        COUNT
      
      (
      
        *
      
      )  
      
        FROM
      
      
          dbo.data_dict


      
      
        END
      
    

 

SQL SERVER 学习笔记


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论