zoukankan      html  css  js  c++  java
  • T-sql

    * 语法

    1. 类型

        见 数据库(图)     见 运算符优先级(图)

      - unicode字符串长量: N'hello world' ,双字节字符,用两个字节存储;

      - 非unicode字符串: ‘hello world’;

      - 注释: --   /**/

      - 变量: 全局变量,由系统定义,以@@标记; 局部变量,用户定义,@标记;

      - 局部变量的赋值: SET @a = 1  或者 SELECT @a = 1

    2.聚合函数

     - 聚合函数:对一组值计算后只返回一个值。除了count 函数外,其他函数都忽略null值;

      avg, min, max, sum ,count( [ all | distinct ] expression )  
      select avg(distinct age) from person    -- 查询person表里的年龄的平均值,相同值只计算一次

          count(*) : 返回所有的项数,包括null值和重复项。而除了count(*)外,其他任何形式的count()函数都会忽略Null行。除了Count(*)函数外,其他任何聚合函数都会忽略NULL值,也就是说,AVG()参数里的值如果为Null则这一行会被忽略如计算平均值,这点要注意。

          count(all表达式):返回非空的项数。

          count(distinct表达式):返回唯一非空的项数

          count_big的语法与count完全一样,只不过返回值为bigint数据类型,这样返回的数值范围就可以大大超过count。

    3. 控制流

    3.1 批处理

      - 一个批处理是指由一个或多个语句组成的批处理, 一个批处理被一次性提交到sql实例。

      - 在不同批处理中,流程控制不能跨批处理。

      - GO关键字,批处理结束标识符。

      DECLARE @i int;
      SET @i = 1;
      GO        --分批了
      PRINT @i  --@i在这个批里未定义,下面请求不到

    3.2 程序块

    DECLARE @i int;
    SET @i = 0;
    WHILE(@i < 10)
    BEGIN    --开始
        SET @i = @i + 1;  -- 赋值
        IF(@i % 2 = 0)
        BEGIN  --开始1
            PRINT('跳过2的倍数' + CAST(@i AS varchar));
            CONTINUE;
        END    -- 结束1
        ELSE IF (@i = 7)
        BEGIN  --开始2
            PRINT('' + CAST(@i AS varchar) + '就跳出循环');
            BREAK;
        END    -- 结束2
        PRINT @i;
    END   --结束
    流程控制
    DECLARE @i int,@j int
    set @i = 10;
    set @j = 20;
    select @i + @j ; --select运行变量属于这张表
    SELECT Id,Name,
        CASE
        WHEN Id = 3 AND Sex = 0 THEN '帅哥'  --这里要注意顺序,优先显示前面匹配到的,这个后面会提到
        WHEN Id = 4 And Sex = 1 THEN '美女' 
        WHEN Sex = 0 THEN ''
        WHEN Sex = 1 THEN ''
        ELSE '不清楚'
        END AS 性别
    FROM Person
    case
  • 相关阅读:
    mysql命令汇总
    python中魔术方法和属性汇总
    python关于import的汇总
    linux命令汇总
    python之高并发问题汇总
    python中路径查找汇总
    python之进程,线程,协程,进程间通信,锁汇总
    python之迭代器,生成器,递归等归纳
    python 之网络编程汇总
    【SpringFramework】Spring JdbcTemplate
  • 原文地址:https://www.cnblogs.com/SmileSunday/p/9304097.html
Copyright © 2011-2022 走看看