zoukankan      html  css  js  c++  java
  • 20190412 T-SQL语言一

    -- T-SQL

    ----------------------------------------------------
    -- 例如1 什么是注释符 单行注释
    select *
    from kc

    /*
    select *
    from kc
    */

    -- 注释的多行

    /*
    Create By Soar.Pang
    The Time : 2019-04-08
    Use For : 注释内容
    */

    ----------------------------------------------------


    -- 常量,其实只是针对一些类型的数据
    SELECT *
    FROM GuidOne

    insert into GuidOne
    select NEWID(); -- GUID 是不会一样的

    -- 常量

    -- 例2 变量

    DECLARE @name VARCHAR(30)
    SET @name='soar.pang'
    --SELECT @name AS ChinaName

    PRINT @name

    -- 案例3 创建一个局部变量


    DECLARE @a varchar(3),@b varchar(3),@c varchar(3) -- 声明变量
    SET @a='YES' -- 为变量赋值
    SET @b='NO' -- 为变量赋值
    PRINT '交换前: @a='+ @a +' @b=' + @b


    SET @c = @a
    SET @a = @b
    SET @b = @c
    PRINT '交换后:@a='+@a+' @b='+@b

    -- 这就是变量的作用
    SELECT @@ERROR


    -- 全局变量,简单点的理解,就是在SQL SERVER系统使用的变量值 重要的是@@ 符号
    SELECT @@CONNECTIONS

    SELECT @@ROWCOUNT

    SELECT @@VERSION

    SELECT @@LANGUAGE -- 当前数据库语言


    -- 运算符的例子


    -- 创建数据库


    -- bit常量
    SELECT *
    FROM GuidOne -- GUID 是不会 重复的

    INSERT INTO GuidOne
    VALUES(NEWID(),1); -- bit 针对 开发中用于存储false,true 的对应结果

    INSERT INTO GuidOne
    VALUES(NEWID(),2,3); --这个2 是不会被存放,因为fit的值只有1,0


    INSERT INTO GuidOne
    VALUES(NEWID(),0,5,11.22); -- 当选择decimal(18, 0) 的时候,查询出来的结果和Int 是比较相似的

    -- 这里附带了工具设置,表保护的限制
    -- 当设置 decimal(18, 2) 的时候 , 就表示存放两位小数

    -- 那么如果我插入4位小数会如何

    INSERT INTO GuidOne
    VALUES(NEWID(),0,6,11.1123); -- 结果是只会保留两位,那么是否会四舍五入,那么我们来放一个大一点的值


    INSERT INTO GuidOne
    VALUES(NEWID(),0,7,11.1167); -- 结果就发生了变化

    SELECT *
    FROM GuidOne

    -- 这里可以不做讲解
    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2'); -- 现在使用科学计数方法去存储数据比较少


    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2); --科学计数办法


    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123'); -- 钱钱符号


    -- 字符串

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','soar.pang');

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','soar');

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','so');

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','sm');

    -- 运算符号

    DECLARE @su int,@x int,@y int
    SET @x=12 --@x=1
    SET @y=5 -- @y=3
    --SET @su=@x+@y --加法

    --SET @su=@x*@y --乘法
    SET @su=@x%@y
    PRINT @su;


    -- 加减也是可以对日期进行计算的


    -- 日期
    SELECT GETDATE() AS DATATIME;


    -- 赋值运算符号
    DECLARE @i int
    SET @i = 2;

    PRINT @i;


    -- 按位运算符号
    USE xsxk
    GO
    SELECT *
    FROM GuidOne
    WHERE IntType=3
    GO

    SELECT *
    FROM GuidOne
    WHERE IntType=3 AND BitType=1 -- 同时为真


    SELECT *
    FROM GuidOne
    WHERE IntType=3 OR BitType<>1 -- 一个为真 即可

    -- 通配符

    SELECT *
    FROM GuidOne T
    WHERE T.VarCharType like 's%' -- 包含零个或者更多字符的任意字符串


    SELECT *
    FROM GuidOne T
    WHERE T.VarCharType like 's_' --获取s到头的字符


    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','Carsen');

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','Larsen');

    INSERT INTO GuidOne
    VALUES(NEWID(),0,8,11.1167,'101.5E-2',0.5e-2,'$123','Karsen');


    SELECT *
    FROM GuidOne G WHERE G.VarCharType like '[C-P]arsen' -- 这里其实讲述的只是一个范围


    SELECT *
    FROM GuidOne G WHERE G.VarCharType like '[^K]arsen' -- 不限制范围,只是即是通配符,有不包括K


    ---- SELECT
    BEGIN
    SELECT *
    FROM GuidOne
    END;


    -- IF
    DECLARE @A INT ,@B INT

    SET @A=1
    SET @B=2
    IF @B>@A
    PRINT 1; -- 只有符合就会执行

    PRINT 'OK';

    -- IF ... ELSE

    DECLARE @aa int,@bb int
    SET @aa=1
    SET @bb=3

    IF (@aa+@bb)>10
    PRINT '我饿了'

    ELSE IF @aa=1 --如果增加了ELSE IF 进行条件判断
    PRINT '还行'

    ELSE
    PRINT '这是不对的'

    -- CASE THEN ELSE

    也许并不是你需要的内容,这只是我人生的一些痕迹. -- soar.pang
  • 相关阅读:
    面试题6:用两个栈实现队列
    cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: 解决办法
    支付系统的对账处理与设计--转
    centos 6.7下安装rabbitmq 3.6.6过程
    Can't access RabbitMQ web management interface after fresh install
    Spring Cloud Netflix Eureka client源码分析
    spring cloud config配置中心源码分析之注解@EnableConfigServer
    量化派基于Hadoop、Spark、Storm的大数据风控架构--转
    Inversion of Control Containers and the Dependency Injection pattern--Martin Fowler
    spark groupByKey 也是可以filter的
  • 原文地址:https://www.cnblogs.com/Soar-Pang/p/10694044.html
Copyright © 2011-2022 走看看