澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

T-SQL基础1
分类:数据库

1.返回 每月最后一天订单

1、局部变量声明

1、IF-ELSE 逻辑判断语句

SELECT orderid, orderdate, custid, empid
FROM Sales.Orders
WHERE orderdate = EOMONTH(orderdate);

语法:DECLARE  @变量名  数据类型

语法:IF  (条件)

 使用EMONTH 对输入的日期返回月末日期   类似动态条件

例如:DECLARE  @name  varchar(8)

                BEGIN 

DATEDIFF(month, '19991231', orderdate)  相差多少月  从19991231到 orderdate之间先查多少月

           DECLARE   @seat  int

                    语句1,语句2,……语句n

DATEADD(month, DATEDIFF(month, '19991231', orderdate), '19991231') 中间是加上的月数  最后一个从什么时间开始加

2、变量赋值

                END

SELECT orderid, orderdate, custid, empid
FROM Sales.Orders
WHERE orderdate = DATEADD(month, DATEDIFF(month, '19991231', orderdate), '19991231');

语法:️SET  @变量名  =  数值

           ELSE

两种写法  记住 可以用动态条件 区分记录

          ️SELECT  @变量名 = 数值

                BEGIN

 

例如:

                    语句1,语句2,……语句n

  1. 姓氏a上有相同的 

    SELECT empid, firstname, lastname FROM HR.Employees WHERE lastname LIKE '%a%a%';

1、SET  @name =‘张三’;

                END

3.对每个客户的订单日期排序

2、SELECT  @name=‘张三’;

2、循环语句——WHILE

SELECT custid, orderdate, orderid,
  ROW_NUMBER() OVER(PARTITION BY custid ORDER BY orderdate, orderid) AS rownum
FROM Sales.Orders
ORDER BY custid, rownum;

3、SELECT  @name = StudentName  from Student  where  StudentNo=‘1008’;

语法:

4.条件筛选case

注:SELECT可以同时给多个变量赋值,而SET不允许。

例如:SELECT  @name=‘张三’,@age=18;语法是正确的。

           SET  @name=‘张三’,@age=18;语法是错误的。

            WHILE (条件)

SELECT empid, firstname, lastname, titleofcourtesy,
  CASE titleofcourtesy
    WHEN 'Ms.'  THEN 'Female'
    WHEN 'Mrs.' THEN 'Female'
    WHEN 'Mr.'  THEN 'Male'
    ELSE             'Unknown'
  END AS gender
FROM HR.Employees;

SELECT empid, firstname, lastname, titleofcourtesy,
CASE 
WHEN titleofcourtesy IN('Ms.', 'Mrs.') THEN 'Female'
WHEN titleofcourtesy = 'Mr.' THEN 'Male'
ELSE 'Unknown'
END AS gender
FROM HR.Employees;

3、全局变量

                BEGIN

第一种 是指向搜索  固定的指向  第二种没有可以多字段条件

@@ERROR      表示最后一个T-SQL错误的错误号

                    语句1,语句2,……语句n

5.在order by 加限制排序条件

@@SERVERNAME      本地服务器名称

                END

SELECT custid, region
FROM Sales.Customers
ORDER BY
  CASE WHEN region IS NULL THEN 1 ELSE 0 END, region;

@@VERSION      SQLServer版本号

例如:求1-10之间所有整数之和:

两个条件 0,1 默认排序规则 通过int 对相应的条件进行排序

DECLARE  @i   int

DECLARE  @sum  int

SET  @i=i

SET  @sum=0

WHILE  (@i<=10)

         BEGIN

              SET  @sum=@sum+@i

              SET  @i=@i+1

         END

3、分支逻辑控制语句(CASE-END)

语法

CASE

        WHEN    条件1    THEN    结果1

        WHEN    条件2    THEN    结果2

        WHEN    条件n    THEN    结果n

ELSE    其他结果。

例如:有一张Result表

图片 1

请使用美国等级标准(A-E)显示成绩

SELECT  *  (

       CASE

              WHEN  StudentResult >= 90 then ‘A’

              WHEN  StudentResult >= 80 then ‘A’

              WHEN  StudentResult >= 70 then ‘A’

              WHEN  StudentResult >= 60 then ‘A’

              ELSE ‘E’

)  AS  等级

FROM Result;  (上图表格为查询后显示)

本文由澳门太阳娱乐集团官网发布于数据库,转载请注明出处:T-SQL基础1

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文