`
uule
  • 浏览: 6349932 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

[T-SQL]从变量与数据类型说起

 
阅读更多

 1.变量

学习计算机语言,难免不碰到这个名词,不过咱这里说的是MSSQL(微软SQL Server产品)里的数据库语言实现。

 稍微对程序比较严谨的语言都要求使用之前都要声明变量先,比如c.c++,java,c#之类,T-SQL也没有例外。

 可以试验下:

          SELECT @hello 

会有如下类似错误信息:

      [Err] 42000 - [SQL Server]必须声明标量变量 "@hello"。 

 

声明变量使用如下关键字:DECLARE(不区分大小写的)

 

声明变量需要使用类型,因为“我”要知道你这玩意到底是整数还是日期还是字符串,我该给你分配多少字节空间啊

 

2.数据类型

数据类型就是之前提到的整型,字符之类的类别。

 我们的格式是:

        DECLARE 变量名 类型 

 

我这里约定下,关键字和类型等用大写,变量名小写,你可以不这样子,但希望你遵守“我们学堂”的规范,呵呵。

 先说下,TSQL这孩子变量分好多哇,跟其他语言差不多(其他语言有,局部变量,全局变量之类的,俺可没搞什么大的特殊)

 这里先用局部变量(Local Variant),T-SQL局部变量是@后接变量名字,

         DECLARE @hello VARCHAR(30) 

 

俺可以一次声明多个呢,

      DECLARE @i INT, 

                      @j INT 

 

当然了声明后,俺们的值是个NULL(注意不是'NULL'字符串哦)

SELECT @i 您看看吧

你坑我啊,光个NULL怎么用,别急,我们看看怎么给他们赋值,不会和其他语言一样直接用赋值运算符=吧,对头不过语法稍微区别下

 

3.赋值

     SET @i=123 

这次看看吧SELECT @i

当然SET也可以用SELECT代替。

 稍微来点复杂的:

    --===================== 
    --计算面积@area=@m*@n 
    --===================== 
    DECLARE @m INT, 
            @n INT, 
            @area INT 
    SET @m=12 
    SET @n=5 
    SET @area=@m*@n 
    SELECT @area 
 

赋值也可以是sql执行的结果

DECLARE @count INT 
 SET @count=(SELECT COUNT(*) FROM authors) 
 SELECT @count 
GO 
 

 变量也可以用在sql里,比如下面:

    DECLARE @city CHAR(20) 
    SET @city='Oakland' 
     
    SELECT RTRIM(au_fname) + ' ' + RTRIM(au_lname) AS Name 
    FROM authors 
    WHERE city = @city 
     
    GO 
 

4.流程控制

分支条件这个太常见了,顺序、分支和重复(循环)是结构化程序设计的3个流程,不得不说。

 我们看看T-SQL里的条件语句怎么写,关键字IF不多说了。

 如下:

 DECLARE @i INT
 SET @i=123
 IF @i>0 (SELECT 'positive') 
  

一条语句可以这么干,多条语句块怎么整呢,别着急,BEGIN...END啊,(如果没在一些语言里见过,c类似的里面的{}总该行了吧)

 

    DECLARE @i INT 
    SET @i=123 
    IF @i>0  
        BEGIN 
            SELECT 'positive' 
            SELECT 'not negative' 
        END 
    ELSE 
        SELECT 'OMG' 

 

没错ELSE也支持的。

 也可以嵌套。

 循环LOOP

 使用关键字WHILE

    DECLARE @i INT 
    SET @i=0      
    WHILE @i<10 
        BEGIN 
            SET @i=@i+1 
            PRINT '@i='+CAST(@i AS CHAR) 
        END 

 

while也可以嵌套。

分享到:
评论

相关推荐

    T-SQL课件(介绍了T-SQL的一些基本知识)

    - 数据类型:定义了数据的类型,如整型(INT)、浮点型(FLOAT)、字符串(NVARCHAR)、日期时间(DATETIME)等,选择合适的数据类型对于优化存储和性能至关重要。 - 常量、变量和函数:常量是不可变的值,变量...

    T-SQL语言基础 T-SQL语言基础

    T-SQL语言基础是SQL Server中的核心组成部分,用于管理和处理数据库中的数据。T-SQL扩展了标准SQL,提供了更多的功能和控制。 在T-SQL中,注释是开发者用来解释代码的重要工具。有两种类型的注释方式:单行注释使用...

    T-SQL示例大全(全是T-SQL语句 )

    T-SQL的基础包括数据类型、变量、常量、运算符以及流程控制语句。例如,数据类型包括数值型(如INT、DECIMAL)、字符型(如VARCHAR、NVARCHAR)、日期时间型(如DATE、DATETIME)等。变量用于存储数据,声明格式为`...

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    - **数据类型**:介绍了SQL Server支持的各种数据类型,如数值类型、字符类型、日期时间类型等。 - **变量与常量**:讲解如何定义变量和常量,以及如何在查询中使用它们。 - **流程控制结构**:包括IF...ELSE语句、...

    T-SQL程序设计与游标设计

    常用函数是 T-SQL 程序设计中的最后一个组成部分,有多种函数,如统计函数、算术函数、字符串函数、数据类型转换函数、日期函数、TEXT 函数和 IMAGE 函数等。这些函数可以实现数据的统计、计算、字符串操作、数据...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    3. **数据类型和变量**:熟悉SQL Server 2008中的各种数据类型,如INT、VARCHAR、DATE等,以及声明和使用变量。 4. **控制流程**:掌握IF-ELSE、CASE表达式、WHILE循环和BEGIN-END块等控制流程语句,用于编写逻辑...

    T-SQL程序设计

    变量是用于存储数据的容器,变量的定义包括变量名称、数据类型和初始值。例如,declare @student_name varchar(20) 就是定义了一个变量 @student_name,数据类型为 varchar(20)。变量的赋值可以通过 select 语句或...

    T-Sql编程 PPT课件

    - 除了变量,T-SQL还包括各种语言元素,如数据类型、运算符、表达式、子查询、联接等,这些都是编写复杂查询和存储过程的基础。 3. **流程控制语句**: - T-SQL提供了丰富的流程控制结构,如`IF...ELSE`条件语句...

    T-SQL编程与应用

    T-SQL语言的基础编程功能包括ANSI SQL-92标准的四大组成部分:DDL(数据定义语言),DML(数据操纵语言),DCL(数据控制语言)以及DD(数据字典)。这些功能使得T-SQL不仅能够创建、修改和删除数据库结构,还能插入...

    MICROSOFT SQL SERVER 2008技术内幕:T-SQL语言基础.pdf

    T-SQL(Transact-SQL)是SQL Server专用的数据库查询语言,它是标准SQL语言的扩展,通过增加流程控制语句、变量、函数等,来支持复杂的数据处理任务。 在本节中,我们重点介绍T-SQL的基础知识,内容将涵盖以下几个...

    《T-SQL 2008 入门》[PDF]

    首先,书中会深入浅出地介绍T-SQL的基础语法,包括SELECT语句的使用,用于从数据库中检索数据。读者将学习如何使用不同的子句,如WHERE、GROUP BY和HAVING来过滤、分组和聚合数据,以及如何使用JOIN操作连接多个表以...

    [电子书] SQL Server 2012 T-SQL 实用技巧 (英文版)

    对于SQL Server 2012,T-SQL的掌握至关重要,因为它直接影响到数据的查询效率、数据库设计以及应用程序的性能。 本书的核心内容可能包括以下几个方面: 1. **基础查询**:介绍如何使用SELECT语句进行基本的数据...

    T-SQL用户指南PDF文档

    2. **变量与数据类型**:了解如何声明和使用变量,以及SQL Server支持的各种数据类型,如INT、VARCHAR、DATE等,这有助于你在处理不同类型的数据库字段时作出正确的选择。 3. **流程控制**:T-SQL提供了流程控制...

    microsoft sql server 2008技术内幕 t-sql语言基础

    在T-SQL中,变量用于存储临时值,有系统定义的数据类型,如INT、VARCHAR、DATE等。了解各种数据类型及其用法对于编写高效且无错的查询至关重要。 3. **流程控制** T-SQL提供了流程控制结构,如IF...ELSE、WHILE...

    T-SQL打印杨辉三角

    `SUBSTRING`函数用于提取字符串中的子串,`CAST`用于转换数据类型,确保加法操作正确进行。 实际的`杨辉三角.sql`文件可能会包含更复杂或优化的实现,例如使用递归`CTE`,或者利用存储过程和游标等。无论哪种方式,...

    SQL SERVER实用教程 T-SQL语言.pdf

    3. **T-SQL语言的常量与数据类型**: - **常量**:不可更改的值。 - **字符串常量**: - **ASCII字符串常量**:用单引号括起,如`'China'`。 - **Unicode字符串常量**:带有`N`前缀,如`N'China '`。 - **整型...

    T-SQL编程入门(SQL Server)

    - 在插入数据前需要确保数据类型与表结构匹配。 - 如果表中有主键或唯一性约束,则不能插入重复的数据。 - **插入多行数据**: - 可以一次性插入多行数据。 - 示例代码如下: ```sql INSERT INTO Students ...

    Microsoft SQL Server 2005技术内幕: T-SQL程序设计

    学习T-SQL首先要掌握SELECT语句,用于从数据库中检索数据,包括JOIN、WHERE、GROUP BY和HAVING子句来过滤和聚合数据。 2. **数据操作语言(DML)**:T-SQL的DML部分包括INSERT、UPDATE和DELETE语句,分别用于插入新...

Global site tag (gtag.js) - Google Analytics