• 数据库补充:常量,变量,函数及注释符,运算符,通配符,流程控制


    常量

    数据在内在中存储始终不变化的量叫常量 ,也称文字值或标量值.

    常见的常量有: 数字常量,字符串常量;日期和时间常量;符号常量

    变量

    数据在内存中存储可以变化的量叫变量 SQL可以使用两种变量,一种是局部变量(以@开头,set 赋值,select 给多个局部变量赋值)和全局变量.

    局部变量实例1

    declare @song char(20)

    set @song='I love flower'

    print @song

    局部变量实例2

    declare @song char(20),@a int,@b int

    select @song='I love flower',@a=1,@b=2

    print @song

    print @a

    print @b

    注释符,运算符,通配符,流程控制

    注释 :不参与代码的编译

    eg:

    /*对Mydb数据库进行操作

    显示My数据库中的Table1表中的全部内容

    其中,Go命令标志批处理的结束

    */

    Use Mydb

    Select * from table1

    Go

    通配符 一般用like 与通配符结合起来(%,_,[],[^])

    []-指定范围([a~f])或集合([abcdef])中的任何单个字符 eg [0~9]123 表示以0~9之间任意一个字符开头,以’123’结尾的字符

    [^]-表示不属于指定范围([a~f])或集合([abcdef])中的任何单个字符 eg [^0~5]123 表示不以0~5之间任意一个字符开头,却以’123’结尾的字符

    流程控制

    Begin…end 将多个SQL语句组合为一个逻辑块

    declare @x int,@y int,@t int

    select @x=1,@y=2

    begin

    set @t=@x

    set @x=@y

    set @y=@t

    end

    print @x

    print @y

    输入结果为 2 1

    Waitfor; goto;while,if…else;break;return;continue

    --while实现-10数字相加

    declare @n int,@sum int

    set @n=1

    set @sum=0

    while @n<=10

    begin

    set @sum=@n+@sum

    set @n=@n+1

    end

    print @sum

    /*goto语句实现跳转结果输出2 3*/

    declare @x int

    select @x=1

    loving:

        print @x

        select @x=@x+1

    while @x<=3 goto loving

    /*waitfor语句结果过秒后输出'祝你节日快乐!'*/

    waitfor delay '00:00:05'

    print '祝你节日快乐!'

    /*waitfor语句结果等到某个时间输出'祝你节日快乐!'*/

    waitfor time '22:26:05'

    print '祝你节日快乐!'

    常用命令

    Declare命令 用于声明一个或多个局部变量,游标变量或表变量

    Print命令 显示一个字符串(最长为255个字符),局部变量或全局变量的内容

    Select 查询和赋值

     

    Set 局部变量赋值

    Use 在前工作区打开或关闭数据库

    Dbcc命令 用于验证数据库完整性,查找错误和分析系统使用情况等

    /*demoData 是指定的数据库名*/

    dbcc checkalloc('demoData')

    Checkpoint命令

    Raiserror 在SQL Server系统中返回错误信息时同时返回用户指定的信息

    Readtext命令 用于读取text,ntext或image列中的值,从指定的位置开始读取指定的字符数

    Backup

    Restore

    Shutdown

    Writetext

    函数

    聚合函数

     

    数学函数

             通常可以用在SQL语句的表达式中,eg avg,sum,max,min….

    字符串函数

    日期和时间函数

    --getdate 返回当前系统日期和时间
    select GETDATE() as '现在时间'
    --day 返回指定日期的天
    select day('2013-07-05') as '指定日'
    go
    select DAY(getdate()) as '当前日'
    --month 返回指定日期的月
    select month('2013-07-05') as '指定月'
    go
    select month(getdate()) as '当前月'
    --year 返回指定日期的年
    select year('2013-07-05') as '指定年'
    go
    select year(getdate()) as '当前年'
    --datediff 返回日期和时间的边界数 datediff(datepart,startdate,enddate)
    --datepart可为year,quarter(季度),month,day,week,hour,minute,scond,millisecond
    select datediff(day,'2012-07-05','2013-07-05') as '时间差距-datepart为日'
    go
    select datediff(QUARTER,'2012-07-05','2013-07-05') as '时间差距-datepart为季度'
    go
    select datediff(MILLISECOND,'2013-07-04','2013-07-05') as '时间差距-datepart为毫秒'
    go
    --dateadd() 添加日期时间 格式 dateadd(datepart,number,date)
    select DATEADD("month",1,getdate()) as '加一个月的时间'

    转换函数(castconvert)

    --语法格式cast(expression as data_type)

    select CAST('luoqing' as nvarchar(3))

    as 输出结果

    --语法格式convert(data_type[lenght],expression[,style])

    select

        GETDATE() as UncovertedDateTime,

        cast(getdate() as nvarchar(30)) as UsingCast,

        convert(nvarchar(30),getdate(),126) as UsingConvrtTo_ISO601

    go

    元数据函数

    Col_length 返回列定义的函数

    --语法格式col_length('table','column')

    select col_length ( 'Student','StudentName') as char类型长度

    Col_name 返回数据库列的名称

    --语法格式col_name('table_id','column_id'),table_id=object_id('table')

    select col_name ( object_id('Student'),3 )

    as char类型长度

    Db_name 返回数据库名

    --语法格式db_name()

    select DB_NAME() as [Current Database]

  • 相关阅读:
    Python标准库 -- UUID模块(生成唯一标识)
    Python全局解释器锁 -- GIL
    Python Web Server Gateway Interface -- WSGI
    Mysql 和 Postgresql 抛开性能的对比
    一篇文章掌握RequireJS常用知识
    彻底理解js中的闭包
    全面理解Javascript闭包和闭包的几种写法及用途【转】
    JS 日期转换,格式化等常用的函数定义
    把上传过来的多张图片拼接转为PDF的实现代码
    C# Stream 和 byte[] 之间的转换(文件流的应用)
  • 原文地址:https://www.cnblogs.com/lqsilly/p/3172957.html
Copyright © 2020-2023  润新知