`
uule
  • 浏览: 6352854 次
  • 性别: 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语句、...

    SQL、T-SQL与PL-SQL的区别

    SQL、T-SQL与PL-SQL的区别 SQL(Structured Query Language)是结构化查询语言,是负责与ANSI(美国国家标准学会)维护的数据库交互的标准语言。它是关系数据库的标准语言,已被众多商用DBMS产品所采用,使得它已...

    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 语法参考手册.docx

    5. 数据类型:理解数据类型是使用任何编程语言的基础,T-SQL提供了一系列的数据类型来适应不同类型的值,如整数、浮点数、字符串、日期时间等。 - 数据类型类别:分为主要类型,如数值、字符串、日期时间等。 - ...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    T-SQL查询涉及SELECT语句,它允许从一个或多个表中提取所需的数据。基础语法包括指定字段、表名、WHERE子句来过滤结果,以及ORDER BY子句进行排序。书中可能详细介绍了如何使用聚合函数如COUNT、SUM、AVG、MIN和MAX...

    T-SQL编程与应用

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

    《T-SQL 2008 入门》[PDF]

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

    T-SQL示例大全,一个很不错的SQL示例,更快速掌握SQL,推荐使用。

    11. **变量与流程控制**:T-SQL中可以声明并使用变量,以及控制流程的语句如IF...ELSE、WHILE、CASE等,用于编写复杂的数据库脚本。 12. **索引**:索引能显著提升查询性能,T-SQL允许创建、修改和删除索引,包括...

    sql server 2005 技术内幕t-sql查询源码

    《SQL Server 2005 技术内幕:T-SQL查询源码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加...

    T-SQL用户指南PDF文档

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

    t-sql基础教程

    2. **变量与常量**:在T-SQL中,可以声明并初始化变量,用于存储临时数据。常量是不可变的值,可以用`DECLARE`语句定义。 3. **流程控制**:T-SQL支持流程控制结构,如`IF...ELSE`条件判断、`BEGIN...END`块、`...

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

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

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

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

    T-SQL.rar_t-sql

    1. **查询语句**:T-SQL提供了SELECT语句,用于从数据库中检索数据。它可以配合WHERE子句进行条件过滤,GROUP BY进行分组,HAVING进行分组后的过滤,以及ORDER BY进行排序。此外,还可以使用聚合函数如COUNT、SUM、...

    全面对比T-SQL与PL/SQL

    全面对比 T-SQL 与 PL/SQL T-SQL 和 PL/SQL 是两种不同的数据库语言,它们都用于管理和操作关系数据库管理系统(RDBMS)。T-SQL 是微软公司开发的 SQL Server 数据库管理系统的脚本语言,而 PL/SQL 是 Oracle 公司...

Global site tag (gtag.js) - Google Analytics