• SQL Server 笔记


    基础语法:

    1 .前一天 :

      dateadd(day,-1,convert(date,'2019-10-29')) 

    2 . convert进行日期转换: 

       SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 

       SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516

     

    3.- parsename:的语法就是 截取点 '.' 后面的字符串,1为倒数第一,2为倒数第二.

    select parsename('1.5.3',1)     //结果 :3 
    Select parsename('A,B,C.C,E.F',2)    // 结果 :C,E

    4 .replicate (复制): 可以按照指定的整数次数,重复生成一个字符串形式的表达式,结果为字符串。

    Select Replicate('abc',-1);   结果NULL
    Select Replicate('abc',0);    结果 
    Select Replicate('abc',2)    结果 abcabc

    5 . 在 SQL Server 表的主键有自增Id ,和  GUID,     newid()的作用和java中的uuid功能类似,可以起到唯一表示的标识,插入的时候当做普通的列数据插入即可

    select NEWID() 

    5 .  rand(): 随机产生0-1之间数

     select rand()

     select  floor(rand()*100)/100

    6 .len: 

    select len(NEWID())

     7 .SET XACT_ABORT ON  : 运行时错误,整个事务将终止并回滚

    8 . CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

    说明 : 

           expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。

      expressionToSearch :用于被查找的字符串。

           start_location:开始查找的位置,为空时默认从第一位开始查找。

    例如 : 

       select charindex('test','this Test is Test')    // 结果6 索引从1开始 

    9 . left()  : LEFT (<character_expression>, <integer_expression>) ,返回character_expression 左起 integer_expression 个字符。

    例如 :

      select left('abc',2)  //结果ab

    10 .right()
    例如 :

      select right('abc',2)

     11.  for xml path('')

        SELECT TOP 2  name+',' FROM sys.sysobjects FOR XML PATH('')   

    参考官网 : https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms189826(v=sql.90)

    1. 如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。

    2. 在 SQL Server 表的主键有自增Id ,和  GUID。

      1.  自增Id

        优点:索引空间小,索引连续。在大量数据插入的时候性能有特别大的优势。

        缺点:可移植性差,在数据迁移的时候。

      2. GUID

        优点:数据迁移的时候很容易。

        缺点:索引占用空间大,因为GUID的随机性,在插入数据的时候会导致索引上的页争用。

    SQL SERVER 2005新加了 NEWSEQUENTIALID(),这是个内置函数,不能用与 SELECT 

     -- 创建的表加约束 default newsequentialid()

    create table #t
    (
    id uniqueidentifier not null default newsequentialid()
    ,name varchar(100)
    )
    go

    --插入表100条数据,并且要指定列名
    insert into #t(name) values('a')
    go 100

    select * from #t

  • 相关阅读:
    xpath教程-逐层检索和全局检索 转
    xpath教程-通过ID和Class检索 转
    minianaconda3安装
    爬取表情
    进程线程(转)
    centos 安装docker方法2
    关于Dockerfile
    根据指定规则生成游戏选项编码实战
    分布式对象存储 读书笔记
    muduo 的windows下的编译
  • 原文地址:https://www.cnblogs.com/xiaohuizhenyoucai/p/11413207.html
Copyright © 2020-2023  润新知