`
uule
  • 浏览: 6366101 次
  • 性别: 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语言基础

    在数据库管理与数据处理的世界里,掌握T-SQL语言基础是每个数据库管理员和开发人员不可或缺的技能之一。T-SQL(Transact-SQL),作为SQL Server数据库中的核心组成部分,不仅包含了标准SQL的全部功能,而且提供了...

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

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

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

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

    T-SQL 语法参考手册.docx

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

    T-SQL编程与应用

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

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    2. **JOIN操作**:T-SQL支持INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等不同类型的连接,用于合并来自两个或更多表的数据。 3. **子查询**:嵌套在其他查询中的查询,可以作为表达式的一部分或者在WHERE...

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

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

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

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

    T-SQL编程学习(全)

    T-SQL编程是SQL Server数据库管理系统中用于数据管理和操作的核心编程语言。它扩展了标准的SQL,提供了更多的功能和控制,使得数据库管理员和开发者能够创建、修改和管理数据库对象,执行复杂的查询,以及处理存储...

    T-SQL用户指南PDF文档

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

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

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

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

    他从1999年开始便一直是SQL Server方面的Microsoft MVP,在世界各地讲授 T-SQL查询、编程和查询优化相关的课程,并提供相关咨询服务。他在SQL Server Magazine和MSDN上发表了多篇文章,并被邀请在许多专题会议上做...

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

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

    高级T-SQL语句

    `CAST`和`CONVERT`是T-SQL中用于数据类型转换的关键语句,它们允许你将一个表达式从一种数据类型转换为另一种数据类型。这对于处理不同类型的数据库字段或者在进行数据格式化时非常有用。 - `CAST(expression AS ...

    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 公司...

    T-sql帮助文档

    **T-SQL(Transact-SQL)是微软SQL Server数据库管理系统中用于操作和管理数据的主要编程语言。它扩展了标准的SQL,增加了许多特性和功能,使得开发者能够更有效地进行数据查询、更新、插入和删除操作,以及创建复杂...

    T-SQL.2008.入门

    2. **数据类型**:学习SQL Server中的各种数据类型,如数值、字符、日期/时间等,以及它们在实际应用中的选择和使用。 3. **变量与流程控制**:掌握声明和使用变量的方法,学习IF...ELSE、WHILE、CASE等控制结构,...

    Transact-SQL 编程

    --T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...

Global site tag (gtag.js) - Google Analytics