• SQL SERVER2000部分函数和控制流程及其它介绍


     

    l          SQL SERVER中的函数

    l          系统函数:

    l          ISNULL: 用指定值替换表达式中的指定空值 select ISNULL(polity(字段名),’团员’), 如果polity字段值为null,则该字段值用团员填充

    l          ISNUMERIC: 检查给定的表达式是否为有效的数字格式

    l          字符串函数

    l          LTRIM(EXP): 删除字符串前面的空格

    l          RTRIMEXP):删除字符串后面的空格

    l          LOWER(EXP): 转换成小写字母

    l          UPPER(EXP): 转换成大写字符

    l          STUFF(EXP1,START,LENGTH,EXP2):在EXP1中,把从位置start开始长度为length的字符串用EXP2替换

    l          SUBSTRING(EXP1,START,LENGTH): EXP1中,返回从START开始长度为length的字符串

    l          LEFT(EXP,INT):返回字符串从左开始到指定位置的部分字符

    l          RIGHT(EXP,INT):返回字符串从右开始到指定位置的部分字符

    l          STR(FLOAT,[,length[,decimal]]):把数值变成字符串返回,length是总长度,decimal是小数点右边的位数

    l          REVERSE(EXP): 求方向表达式

    l          日期和时间函数

    l          GETDATE(): 返回当前日期和时间 Day(date), Month(date), Year(date) 返回当前时间的年,月,日

    l          数字函数

    l          ABSnumber):返回绝对值

    l          PI(): 常量 

    l          RAND():返回01之间的一个随机值

    l          SIGNnumber: 根据给定的数值是否为正、负或零而分别返回1-10

    l          转换函数

    l          CAST(EXP AS Data_Type): 把一种数据类型强制转化为另一种数据类型

    l          CONVERT(data_type, EXP[,style]):允许用户把表达式从一种数据类型转换成另一种数据类型,还允许把时间转换成不同的样式 style选项能以不同的格式显示日期和时间, 101 表示mm/dd/yyyy, Convert(‘1111’, money)  

    l          创建自定义的函数

    l          传入课程编号,返回一个表中该课程的总分

    l          Create function fun_sumScore

    l          {

    l             @parClassNo as varchar(10)
    }

    l          Returns real

    l          Begin

    l          Declare @sumScore real

    l          Select @sumScore = sum(score)

    l          From t_score

    l          Where classNo=@parClassNo

    l          Return @sumScore

    l          End

    l          使用自定义函数: select dbo. fun_sumScore(‘12312’) from t_score 在调用返回数值的用户自定义函数时,一定要在函数名称的前面加上用户名,否则会出现“‘函数名称’”不是可以识别的函数名“的错误提示信息

     

     

     

     

    l          流程控制语句

    l          IF…ELSE: IF(Exp) BEGIN END ELSE BEGIN END

    l          if ((select top 1 rid from report) > 1)

    l              print 'a'

    l          else

    l              print 'b'

    l          CASE EXP

    l                 WHEN when_Exp THEN result_Exp

    l                 WHEN when_Exp THEN result_Exp

    l          END   

    l          Select *,班级名称(新字段名)=case number(本表字段名) WHEN ‘123’ THEN ‘高等数学’      WHEN ‘234’ THEN ‘中国历史’ END

    l          WHILE…CONTINUE…BREAK

    l          Declare @i int

    l          Set @i=1

    l          While(@i>0)

    l          Begin

    l          Set @i=@i-1 (Break   or   continue)

    l          End

    l          GOTO

    l          WIATFOR 用于暂停执行SQL语句

    l          WIATFOR DELAY ‘0.0.10’ 暂停指定10

    l          Return语句,和break类型,但return语句可以返回一个整型值

     

     

     

    l          创建视图

    l          可以在企业管理器中直接创建,或者用create view view_name as select * from A,B where A.name=b.name语句创建视图

    l          三个关于视图的存储过程: sp_help ; sp_helptext ; sp_depends ;sp_rename old_name,new _name 重命名存储过程

    l          修改视图中的数据时,不能同时修改两个或多个基表。可以对基于两个或多个基表或者视图进行修改,但是每次只能修改一个基表。

    l          如果视图创建时定义了限制条件或者基表的列允许控制或有默认值,而插入的记录不满足条件时,此时仍然可以向表中插入记录,只是用视图检索不会显示出新插入的记录。如果不想这种情况发生,则可以使用with checkbox point选项限制插入不符合视图规则的视图,这样,在插入记录时,如果记录不符合限制条件则不能插入.

    l          索引 sp_helpindex Report(数据表名) 查看数据表上的索引, 设置主键时会自动创建索引

    l          建立索引的一般原则

    l          对经常用来检索的字段建立索引

    l          对数据表中的主键建立索引

    l          对数据表中的外键建立索引

    l          对经常用于连接的字段建立索引

    l          索引的分类

    l          聚集索引(一个表只能建立一个聚集索引,表中的物理顺序和索引中的物理顺序是相同的)和非聚集索引(一个表可以包含多个非聚集索引)

    l          复合索引(多个字段组合的索引)

    l          唯一索引(字段最好设置为not null,因为两个null值将认为是重复的字段值)

    l          管理索引   所有任务à管理索引,创建,修改,删除索引

    l          Create Index Index_Name on Table_name(Field_Name)

    l          存储过程

    l          三个组成部分: 所有输入参数以及传给调用者的输出函数

    l          被执行的针对数据库的操作语句,包括调用其它存储过程的语句

    l          返回给调用者的状态值,已指明调用是成功还是失败(可以 @@error全局变量)

    l          Create procedure stu_age   (创建存储过程)

    l          ( @s_number varchar(10),

    l            @age in output)

    l          As

    l          Declare @errorValue int

    l          Set @errorValue=0

    l          Select @age=year(getdate())-year(birthday)

    l          From t_student

    l          Where s_number=@s_number

    l          If(@@error<>0)

    l           Set @errorValue=@@error

    l          Return @errorValue

    l          执行存储过程

    l          Execute pro_name paraName=value;   execute stu_info @s_number=’12321’

    l          Declare @stuage int, @returnvalue int, @s_number char(10)

    l          Set @s_number=’1232’

    l          Execute @returnvalue=stu_age(proName) @s_number, @stuage output

    l          全局存储过程

    l          Sp_help:用于显示存储过程的参数及其数据类型

    l          sp_helptext:用于显示存储过程的源代码

    l          sp_depends 用于显示和存储过程相关的数据库对象

    l          sp_stored_procedures 用于返回当前数据库中的存储过程列表

    l          触发器

    l          触发器是一种特殊的存储过程, 存储过程通过名称被调用,触发器主要通过事件进行触发而执行,触发器一般是在对数据表进行增,删,改时触发

    l          创建触发器: 选择表à所有任务à管理触发器

    l          Create trigger trigger_name

    l          On table_name

    l          For insert,update,delete

    l          As

    l          Sql_statement

    l          备份和还原数据库

    l          选择数据库à所有任务à备份数据库

    l          选择数据库à所有任务à还原数据库; 如果还原失败,可在‘选项’中‘最下面选中’使数据库不再运行‘项,然后在还原一遍就行

    l          导出和导入数据

    l          选择表à所有任务à导出数据; 可以导出到excel,文本文件等类型

    l          选择表à所有任务à导入数据; 可以导入excel,文本文件等类型

  • 相关阅读:
    hadoop(四)HDFS的核心设计
    spark(三)spark sql
    hadoop(三)HDFS基础使用
    hadoop(二)hadoop集群的搭建
    IOS微信中看文章跳转页面后点击返回无效
    使用GBK编码请求访问nodejs程序报415错误:Error: unsupported charset at urlencodedParser ...
    mac端口占用查找进程并杀死
    tinymce4.x 上传本地图片(自己写个插件)
    mongodb使用mongoose分组查询
    javascript/jquery给动态加载的元素添加click事件
  • 原文地址:https://www.cnblogs.com/gossip/p/1370367.html
Copyright © 2020-2023  润新知