T-SQL学习之一 T-SQL基础

发布时间:2020-06-11编辑:脚本学堂
一、T-SQL基础 1、注释 一种是ANSI标准的注释符 "--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即"/* */”。

一、T-SQL基础

    1、注释
    一种是ANSI标准的注释符 "--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即"/*  */”。

    2、变量
    Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量

    局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。
    局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。
    定义格式:declare @local_variable data_type

    例如: declare @sage int,@sname char(10)

    全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。

    全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

    使用全局变量时应该注意以下几点:
        ①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
        ②用户只能使用预先定义的全局变量。
        ③引用全局变量时,必须以标记符“@@”开头。
        ④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

    例如:   @@version 返回当前服务器的日期版本和处理器类型等.
       @@rowcount返回最近的语句影响的行数

    3  运算符
    运算符主要有以下六大类:算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符以及字符串连接运算符
  
    1)、算术运算符包括加(+)、减(—)、乘(*)、除(/)和取模(%)。
    例:
 

复制代码 代码如下:
Select Cast( 100 + 900 as char(4) );
       select cast('2006-3-15' as smalldatetime) + 365 as '2007-3-15'

    2)、赋值运算符   =
    Select可以用在查询语句中,set不可以
    例:    
 

复制代码 代码如下:
Declare @myage int
       set @myage = 25
    或
       select sno='ec' + sno , sname , sage from student

    3)、位运算符
  
    比较运算符
    比较运算符用于比较两个表达式的大小或是否相同,其比较的结果是布尔值,即TRUE(表示表达式的结果为真)、FALSE(表示表达式的结果为假)以及UNKNOWN。
    除了text、ntext 或image 数据类型的表达式外,比较运算符可以用于所有的表达式。

    逻辑运算符
    逻辑运算符可以把多个逻辑表达式连接起来。逻辑运算符包括AND、OR和NOT等运算符。逻辑运算符和比较运算符一样,返回带有TRUE 或FALSE 值的布尔数据类型。
    还有其他返回逻辑值的运算符如 : ANY , SOME , IN , EXIST , ALL......

    字符串连接运算符
    字符串串联运算符允许通过加号(+) 进行字符串串联,这个加号即被称为字符串串联运算符。
    例 : 对于语句SELECT 'abc' + 'def' ,其结果为'abcdef'

    4、函数
    1)、字符串函数
    字符串函数可以对二进制数据、字符串和表达式执行不同的运算,多数字符串函数只能用于char和varchar数据类型以及明确转换成char和varchar的数据类型.
    a-- 基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。
    例: SELECT RTRIM('rain-man ') + ',' + SPACE(2) + LTRIM(' aaaaaaaaaa');
    b-- 字符串查找函数:CHARINDEX、PATINDEX。
    c-- 长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。
    d-- 转换函数:ASCII 、CHAR、STR、SOUNDEX、DIFFERENCE。
   
    STR由数字数据转换来的字符数据。
    例:

复制代码 代码如下:
SELECT STR(123.45, 6, 1) =' 123.5';

    2)、日期和时间函数
    例:从GETDATE函数返回的日期中提取月份数。
      

复制代码 代码如下:
SELECT DATEPART( month , GETDATE() )  AS  'Month Number'

    例:从日期03/15/2006 中返回月份数、天数和年份数。
     

复制代码 代码如下:
  SELECT MONTH('03/15/2006 '), DAY('03/15/2006 '),YEAR(' 03/15/2006 ')

    例:返回当前日期是星期几。
      

复制代码 代码如下:
SELECT DATENAME(weekday, getdate()) AS 'Month Name'

    3)、数学函数
    在同一表达式中使用CEILING()、FLOOR()、ROUND()函数。
    例:

复制代码 代码如下:
select  ceiling(13.4),  floor(13.4),  round(13.4567,3)

    4)、转换函数
    一般情况下,SQL Server会自动处理某些数据类型的转换。
    例如,如果比较char 和datetime 表达式、smallint 和int 表达式、或不同长度的char 表达式,SQL Server 可以将它们自动转换,这种转换被称为隐性转换。
    但是,无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的,就需要使用转换函数做显示转换。转换函数有两个:CONVERT和CAST。

    CAST 和CONVERT
    将某种数据类型的表达式显式转换为另一种数据类型。CAST 和CONVERT 提供相似的功能。
    例 :

复制代码 代码如下:
select sname as 姓名,sage as 年龄 from student where cast(sage as char(2)) like '2%';
       select sname as 姓名,sage as 年龄 from student where convert( char(2),sage) like '2%'

   5)、系统函数
   系统函数用于返回有关SQL Server系统、用户、数据库和数据库对象的信息。
   例 : 返回Northwind 数据库的Employees 表中的首列的名称。
    

复制代码 代码如下:
   USE Northwind
       SELECT COL_NAME(OBJECT_ID('Employees'), 1)

   6)、聚合函数
   聚合函数可以返回整个或者几个列或者一个列的汇总数据,它常用来计算SELECT语句查询的统计值。聚合函数经常与SELECT 语句的GROUP BY 子句一同使用。

您可能感兴趣的文章:
T-SQL语句创建数据库的例子(图文)
收集了一些t-sql的技巧示例
T-SQL学习之二 自定义函数和控制流语句
学习T-SQL中操作表的语句
备份数据库的T-SQL语句
T-SQL编程学习笔记
使用T-SQL语句创建、修改、删除数据库