8T-SQL
T-SQL编程入门经典

FileStream 对象和语法filestream 数据类型在SQL Server 2008中被引入,该数据类型允许在服务器文件系统中存储和同步内容,适合于管理大量的未结构化数据。
这些数据通常存储在文档或其他应用程序特定的文件类型中。
filestream 类型的列数据插入到数据库表中,但实际上存储在数据库外部的单独文件中——在NTFS 文件系统中,而不存储在SQL Server 数据库文件中。
T-SQL 查询操作与外部存储的数据之间的所有交互操作都由SQL Server 数据库引擎来管理。
这个特性默认状态为禁用,必须用系统存储过程sp_filestream_configure 来启用。
数据库要支持FileStream 类型,需要根据文件系统中的文件夹定义一个文件组,称为文件容器。
该文件组的数据库文件用于存储元数据、设置和标题信息,以实现对外部数据的管理。
要使表支持FileStream 类型,应在创建表时用FILESTREAM 关键字定义一列。
可以把数据首先写入FileStream 类型的列中,然后用标准的T-SQL 语句INSERT 存储到NTFS 文件系统中,或者使用托管或未托管的程序代码。
filestream 数据的最初内容常常包含在源文档文件中,所以插入或修改这些数据需要执行外部的程序代码,这一般需要高级文件管理和代码流处理,而不能仅用T-SQL 查询来处理。
SQL Server Native Client 10.0库(sqlncli10.dll)中的OpenSQLFileStream API 提供了编程支持。
这是对Win32 API 的扩展,函数可以从托管的.NET 代码(例如C#或Visual )或未托管代码(例如C++或Visual Basic 6)中调用。
E.1 FileStream 对象下面列出了管理filestream 对象的系统编程对象。
附 录 ET-SQL编程入门经典(涵盖SQL Server 2008 & 2005)538对象名返回类型说明sp_filestream_configure N/A @enable_level返回参数的值:0:禁用(默认)1:仅允许T-SQL访问2:允许T-SQL和本地文件系统访问3:允许T-SQL、本地和远程文件系统访问PATHNAME() nvarchar(max)返回FileStream类型列的文件系统路径GET_FILESTREAM_TRANSACTION_CONTEXT()varbinary(max) 返回一个令牌,以协调数据库对象的事务环境或查询与外部的程序代码E.2 示例T-SQL脚本下面是几个简单的T-SQL脚本示例,用于创建带filestream存储的数据库并定义支持filestream列的表,以及使用INSERT语句在外部文件中存储列文本。
用T-SQL指令创建数据库和表

实验报告课程名称数据库系统原理实验日期10月10日实验项目名称用T-SQL指令创建数据库和表实验地点数据库实验室实验类型□验证型√设计型□综合型学时2一、实验目的及要求(本实验所涉及并要求掌握的知识点)1、掌握用T-SQL语句创建数据库和表的方法,掌握主键和外键的设置方法2、在SQL Server Management Studio中查看每个表的主键设置(若用SQL语句创建表时未设置主键,则在此进行设置),将SC表的(Sno,Cno)属性组设置为主键,验证Sno和Cno两个主属性均不能被设置为空值,从而理解关系的实体完整性规则。
3、理解并掌握“关系图”的作用和建立方法。
在SQL Server Management Studio中为创建的表建立“关系图”,从而理解关系的参照完整性规则(它与实体完整性规则一起被称为关系的两个不变性,由RDBMS自动支持)。
4、学习用SQL语句创建和修改基本表结构的方法。
5、初步了解用T-SQL指令插入数据的方法。
6、掌握用SQL指令修改表结构的方法7、掌握用T-SQL语句删除数据库和表的方法二、实验环境(本实验所使用的硬件设备和相关软件)安装XP操作系统的电脑一台Sql server2005开发版安装软件IIS5.0三、实验内容及步骤1、通过新建查询用SQL指令创建教材P82图3.2学生-课程数据库,数据库名为MyDB在SQL Server Management Studio中,单击工具栏上的新建查询,然后在查询窗口中输入下面SQL语句:注意:FILENAME指定要创建数据库的物理文件名,即数据文件的物理存放位置,一定要确保给出的文件路径是真实存在的,如果该路径不存在,请先建立路径然后再创建执行该命令后用下列方法查看MyDB的Student表是否创建成功:●若执行成功,则在左侧对象浏览器窗口中展开MyDB数据库中的“表”会看到名为“dbo.Student”表的图标(dbo即数据库拥有者,表示Student表是由数据库的拥有者创建的)。
T-SQL简介及基本语法

T-SQL简介及基本语法⼀、T-SQL概述SQL Server⽤于操作数据库的编程语⾔为Transaction-SQL,简称T-SQL。
T-SQL与PL/SQL不同,并没有固定的程序结构。
T-SQL包括以下4个部分:DDL:定义和管理数据库及其对象,例如create、alter和drop等。
DML:实现对数据库表各对象的操作,例如insert、update等。
DCL:数据控制语⾔,实现对数据库进⾏安全管理和权限管理等控制,例如grant、revoke、deny等。
附加的语⾔元素。
T-SQL的附加语⾔元素,包括变量、运算符、函数、注释和流程控制语句等。
在T-SQL中,命令和语句的书写是不区分⼤⼩写的。
⼆、T-SQL编程基础1、标识符①T-SQL规则标识符由字母、数字、下划线、@、#、$符号组成,其中字母可以是a-z或A-Z,也可以是来⾃其他语⾔的字母字符。
⾸字符不能为数字和$。
标识符不允许是T-SQL保留字。
标识符内不允许有空格和特殊字符长度⼩于128②界定标识符 对于不符合标识符规则的标识符,则要使⽤界定符⽅括号([])或双引号(“”)将标识符括起来。
如标识符[My Table]、“select”内分别使⽤了空格和保留字select。
2、数据类型在SQL Server中提供了多种系统数据类型。
除了系统数据类型外,还可以⾃定义数据类型。
①系统数据类型(1)精确数字数据类型int 存储整型数值,存储数值范围为-231~231-1。
bigint bigint⽐int能存储更⼤的数值,存储数值范围为-263~263-1。
smallint 数据类型的范围数值⽐int更⼩,在-215~215-1之间。
定义这种数据类型的时候⼀定要⼩⼼,要确定存储的数据不会超过smallint所能存储的数值范围。
tinyint 数据类型的范围数值⽐smallint更⼩,存储从 0 到 255 的整型数据。
decimal/numeric decimal[(p,s)]和numeric[(p,s)]这两种数据类型⽤于存储相同精度和范围的数据(⼩数点的左、右两边存储的数值位数相同),所能存储的数值范围为-1038+1~1038-1。
数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。
局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。
如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。
若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。
1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。
通常以“@@”开头。
T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
T-SQL语句集合及示例

《数据库应用与开发教程》书内T-SQL语句集合及示例1.创建数据库CREATE DATABASE数据库名ON PRIMARY( NAME=主数据库文件名,FILENAME=主数据库文件地址名,SIZE=主数据库文件初始大小,MAXSIZE=主数据库文件最大大小,FILEGROWTH=主数据库文件增长大小/速度)LOG ON( NAME=数据库日志文件名,FILENAME=数据库日志文件地址名,SIZE=数据库日志文件初始大小,MAXSIZE=数据库日志文件最大大小,FILEGROWTH=数据库日志文件增长大小/速度 )GO代码示例:CREATE DATABASE EXAMON PRIMARY(NAME=EMAM_DAT,FILENAME='I:\EXAM\EXAMDAT.mdf',SIZE=3mb,MAXSIZE=500mb,FILEGROWTH=1mb)LOG ON(NAME=EXAM_LOG,FILENAME='I:\EXAM\EXAMLOG.ldf',SIZE=1mb,MAXSIZE=unlimited,FILEGROWTH=10%)GO2.删除数据库基础语句:DROP DATABASE 数据库名代码示例:DROP DATABASE EXAM3.创建表基础语句:USE 数据库名 GOCREATE TABLE 表名( 列名1 数据类型 修饰条件 是否为空, 列名2 数据类型 修饰条件 是否为空, 列名3 数据类型 修饰条件 是否为空, ………… )代码示例:USE EXAM GOCREATE TABLE ADMIN( ADMINID INT PRIMARY KEY , LOGINPWD VARCHAR (50) NOT NULL, LOGINPTPE VARCHAR (10) NOT NULL )4.设置主键基础语句:ALTER TABLE 表名ADD CONSTRAINT 主键名 PRIMARY KEY (想要设置为主键的列的列名)代码示例:ALTER TABLE 表名ADD CONSTRAINT pkey_Admin PRIMARY KEY (AMDINID)5.插入数据(1)添加一行数据 基础语句:INSERT INTO 表名(列名1,列明2,列名3……) VALUES (值一,值二,值3……)代码示例:INSERT INTO ADMIN (ADMINID ,LOGINPWD ) VALUES (1,'iamthepassword')(2)将全部信息添加到另外一个表INSERT INTO 目标表名(列名1,列明2……) SELECT 列名1,列明2…… FROM 原表名6.创建备份表基础语句:SELECT*INTO备份表名FROM原始表名WHERE 0=1示例代码:SELECT*INTO ADMINBAKFROM ADMIN WHERE 0=17.更新数据基础语句:UPDATE表名SET列名=更新的值WHERE条件示例代码:UPDATE ADMIN SET LOGINPWD='password'WHERE ADMINID=18.删除数据基础语句:DELETE FROM表名WHERE条件示例代码:DELETE FROM ADMIN WHERE ADMINID=39.删除表基础语句:DROP TABLE表名示例语句:DROP TABLE ADMIN10查询语句基础语句:SELECT 列名1,列名2 FROM表名WHERE条件ORDER BY要排序的列名(ASC/DESC)示例语句:SELECT ADMINID,LOGINPWD FROM ADMIN WHERE LOGINPWD='password'ORDER BY ADMINID DESC在使用SELECT语句中,可使用*号,代表选择表中的全部列,例:SELECT * FROM ADMIN在SELECT后面加上 DISTINCT 可消除重复行,例如:SELECT DISTINCT LOGINPWD FROM ADMIN在SELECT后面加上TOP 数字,可选择前多少行的数据,例:SELECT TOP 20 * FROM ADMIN要自定义列标题名,可有3种方法:(1)列别名=列名密码=LOGINPWD(2)列名 as 列别名 LOGINPWD=密码(3)列名列别名 LOGINPWD 密码模糊查询,可用 LIKE 例如:SELEC T * FROM ADMIN WHERE LOGINPWD LIKE‘PASS%’更多函数的使用方法,请见课本P86.多表查询,可用“表名.列明”的方式,例如:SELECT Student.studentNO,Score.score1 FROM Student,Score或者采用INNER JOIN关键字关联等内连接和外连接,请见课本P97.11.创建视图基础语句:CREATE VIEW视图名ASFROM表名示例代码:CREATE VIEW V_TESTASSELECT*FROM STUDENT12.创建外键约束基础语句:ALTER TABLE表名ADD CONSTRAINT外键名FOREIGN KEY(从表列名)REFERENCES主表名(主表列名)示例代码:ALTER TABLE scoreADD CONSTRAINT FK_SCORE_STUDENTFOREIGN KEY(STUDENTNO)REFERENCES STUDENT(STUDENTNO)13.在sql中使用变量,详情请见课本P14314.创建索引基础语句:CREATE INDEX索引名ON表名(需要索引的列名)代码示例:CREATE INDEX IDX_ABC ON SCORE(STUDENTNO)15.创建存储过程基础语句:CREATE PROC存储过程名(定义变量)AsSql语句代码示例:详见课本P166,包括3种,不含参数,含参数,含输出参数的存储过程示例。
T-SQL语法

sp_helpindex---查看某个表的索引
sp_stored_procedures--- 列出当前环境中的所有存储过程
sp_password---添加活修改登录账户的密码
sp_helptext---现实默认值,存储过程,触发器或视图的实际文本
go
--按索引查询
select * from stuMarks (索引名) where writtenExam between 60 and 90
----创建视图示例
use stuDB
go
if exists (select * from sysobjects where name='view_stuInfo_stuMarks')
drop procedure proc_stu
go
create procedure proc_stu
as
declare @writtenAvg float,@labAvg float --笔试,机试平均分变量
select @writtenAvg=avg(writtenExam),@labAvg(labExam)
exec proc_名 a,b---调用
-- 处理错误
raiserror ('发生错误')
---事物示例
use stuDB
go
--恢复原来的数据
--update bank set curretMoney=currentMoney-1000 where customerName='李四'
create procedure proc_名 as
tsql语句创建表的方法

tsql语句创建表的方法一、TSQL语句创建表的基础。
1.1 什么是TSQL语句创建表。
嘿呀,咱先来说说这个TSQL语句创建表是咋回事儿呢。
TSQL呢,就是Transact SQL,这是SQL Server数据库里用的一种编程语言。
创建表就像是盖房子打地基一样,是数据库操作里特别重要的一步。
你想啊,要是没有表,数据就像没家的孩子,到处乱飘呢。
1.2 为啥要用TSQL创建表。
这可就有门道了。
用TSQL创建表那是相当方便、灵活。
你可以按照自己的需求,精确地定义表的结构。
比如说,你要管理一个书店的库存,你就能创建一个表,里面有书的名字、作者、价格、库存数量这些栏位。
这就好比是量身定做衣服,不大不小正合适。
二、创建表的具体步骤。
2.1 基本语法结构。
这创建表的语法啊,就像是一个魔法咒语。
一般来说呢,是“CREATE TABLE”这个关键字开头,后面跟着表的名字。
就像“CREATE TABLE BookInventory”,这就表示要创建一个叫BookInventory的表。
然后呢,在括号里面定义表的列。
比如说“(BookName VARCHAR(50), Author VARCHAR(50), Price DECIMAL(10, 2), StockQuantity INT)”。
这里面的“VARCHAR”就是可变长度的字符类型,“DECIMAL”是小数类型,“INT”就是整数类型。
这就像告诉数据库,这个表的每一列都长啥样,是啥类型的数据能住进去。
2.2 设定约束条件。
这约束条件啊,就像是给表立规矩。
比如说主键约束,这就像是给每一行数据一个独一无二的身份证。
在TSQL里,你可以这样写“PRIMARY KEY (BookID)”,这就表示BookID这一列是主键,每一行的BookID都不能相同。
还有像非空约束“NOT NULL”,就好比这个栏位必须得有东西,不能为空着。
这就好比是一个房子里有些房间必须得放东西,不能空着一样。
数据库教学资料第6章t-sql语言基础PPT课件

T-SQL是结构化查询语言(SQL)的一个扩展,专门针对Microsoft SQL Server数据库系统。它提供了许多额外 的功能和命令,使得对数据库的操作更加高效和强大。T-SQL具有丰富的语言特性,包括条件语句、循环语句、 存储过程、触发器等,可以用来执行复杂的查询、数据处理和数据库管理任务。
T-SQL语言还支持存储过程、触发 器、视图等高级功能,可以大大简 化复杂的业务逻辑和数据处理流程, 降低系统开发和维护成本。
T-SQL的未来发展前景
1
随着云计算、大数据等技术的快速发展,T-SQL 语言将继续发挥重要作用,支持更多的数据处理 场景和应用领域。
2
未来,T-SQL语言将不断演进和完善,支持更多 的数据类型、函数和操作符,提高数据处理效率 和安全性。
3
变量和常量的声明与赋值
使用DECLARE语句声明变量,使用SET或 SELECT语句为变量赋值。
流程控制语句
IF语句
用于根据条件执行不同的代码块。
WHILE语句
用于重复执行一段代码直到满足特定条件。
CASE语句
用于根据条件执行不同的代码块,类似于IF-ELSE结构。
GOTO语句
用于将程序控制转移到指定的标签位置。
使用存储过程和触发器
存储过程
使用CREATE PROCEDURE语句创建一个 存储过程,该过程可以包含一系列的TSQL语句,用于执行特定的数据库操作。
VS
触发器
使用CREATE TRIGGER语句创建一个触 发器,该触发器将在指定的事件(如 INSERT、UPDATE或DELETE操作)发生 时自动执行相应的操作。
同时,T-SQL语言将与新兴技术如人工智能、机 器学习等相结合,拓展其在数据分析、预测和智 能决策等领域的应用价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LOG( )
POWER( ) 乘方函数
SIGN( ) 返回+1、 或 产生一个随 返回 、0或 平方根函数 -1 机数
SQRT( )
RAND( )
本节首页 本章首页
21/41
3.3.2 数学函数(1)
返回整数值函数
CEILING与FLOOR函数都用于返回数值表达式的整数值,但返回 的值不同。
乘方运算函数
POWER(数值表达式 ,数值表达式 数值表达式1,数值表达式2) 数值表达式
自然指数函数
语法:EXP(float表达式 表达式) 表达式 求指定的float表达式的自然指数值,返回float型的值。
平方根函数
语法:SQRT(float表达式) 求指定的float表达式的平方根,返回float型的值。
ATAN( ) CEILING( ) FLOOR( )
ROUND( )
DEGREES( )
RADIANS( )
EXP( )
反正切函 向上取整函 向下取整函 四舍五入函 将弧度转换成角 将角度转换成弧 指数函数 数 数 数 数 度 度
LOG 10( ) PI( ) 为底的对数函 自然对数函 以10为底的对数函 圆周率 数 数
1. AVG( ) 2. COUNT( ) 3. MIN( ) 4. MAX( ) 5. SUM( )
类型转换函数
类型转换函数是将表达式的结果从一种数据类型转换为另外一 种数据类型,比如将数值类型转换为字符类型等 CONVERT(<数据类型 数据类型>[(<长度 长度>)],<表达式 日期格式 表达式>[,日期格式 数据类型 长度 表达式 日期格式])
Decimal[(p[,s])] Numeric[(p[,s])] Float[(n)] Smallint Text Image Bit Timestamp
6/41
Real Tinyint
Money
Smallmoney
3.2.3常量
常量是指在程序运行过程中,其值不会改变的量。 常量是指在程序运行过程中,其值不会改变的量。 abcde’ 字符型常量 如:‘abcde 整型常量 实型常量 如:11,70,1200等 11,70,1200等 如:3.14,3.5等 3.14,3.5等
23/41
3.3.3 日期和时间函数(1)
日期( 日期(date)函数涉及与日期计算有关的一些功能 )
命令 DATEADD( ) DATEDIFF( ) DATENAME( ) DATEPART( ) GETDATE( ) 格式 在一个日期值上加上个间隔, 在一个日期值上加上个间隔,返回值仍是日期值 计算两个日期值之间的间隔 返回表示日期中某部分的字符串 返回表示日期中某部分的数值 返回系统日期和时间
16/41
3.3.1 字符串函数
字符与ASCII码值转换函数
ASSCII( )函数能将字符串转换成ASCII值; CHAR( )函数能将ASCII值转换成字符串。
17/41
字符串函数
求字符串字符个数函数
能返回给定字符串表达式的字符个数,其中不包含尾 随空格。 语法: LEN(string_expression) ( )
11/41
3.2.5 运算符
运算符的优先级由高到低为 运算符的优先级由高到低为: 由高到低 ( )、 ~ *、/、% +、- ^ & | NOT AND OR
12/41
3.3 函数
3.3.1 字符串函数 3.3.2 数学函数 3.3.3 日期和时间函数 3.3.4 类型转换函数
13/41
函数
询汇总函数
DIFFERENCE( ) SOUNDEX( ) LOWER( )
15/41
3.3.1 字符串函数(续)
UPPER( ) LTRIM( ) RTRIM( ) REPLICATE( ) REVERSE( ) SPACE( ) STR( ) STUFF( ) RIGHT( ) SUBSTRING( ) 将小写字母转换成大写字母 删除字符串的前导空格 删除字符串的尾部空格 重复一个字符表达式若干次 取字符串的逆序 产生空格字符串 将数值转换成字符串 用一个子串按规定取代另一个子串 从字符的右部取子串 取子串函数
参数:string_expression是要计算的字符串表达式。 返回值即字符的个数,为int数据类型。
18/41
3.3.1 字符串函数
取子串函数
LEFT( ) 、RIGHT( )及SUBSTRING( )函数都能从 字符串中取出子串,只是实现方法不同。
返回空格函数
SPACE( )函数:返回由重复的空格组成的字符串。 语法: SPACE(integer_expression)
参数:integer_expression是表示空格个数的正整数。如 果integer_expression为负,则返回空字符串。 返回值即是空格字符串,为char数据类型。
19/41
3.3.1 字符串函数(3)
大小写转换函数
UPPER( )函数将小写字符转换为大写字符 LOWER( )函数则将大写字符转换为小写字符。
6/25/83, 2000等 日期型常量 如:6/25/83,may 19 2000等 货币常量 如:$1000 等
7/41
3.2.3 变量
变量分类
局部变量(local variable,以 @为变量名称开头), 是由用户定义的变量,我们可用这些变量来保存数值、 字符串等数据 全局变量(global variable,@@为名称头),是由系统 提供及赋值,用来保存一些系统的信息。
22/41
3.3.2 数学函数(2)
产生随机数函数
用于返回一个位于0和1之间的随机数。 语法: RAND(整数表达式) 整型表达式在这里起着产生随机数的起始值的作用。
四舍五入函数
语法: ROUND(数值表达式,整数) 该函数将数值表达式四舍五入成整数指定精度的形式。在这里, 整数可以是正数或负数。正数表示要进行运算的位置在小数点后, 反之要运算的位置在小数点前。
SQL Server的注释有两种:
--(两个减号):用于注释单行。 /*……*/:用于注释源自行。5/41数据类型
中数据类型分系统类型和用户自定义类型。 在SQL Server中数据类型分系统类型和用户自定义类型。 中数据类型分系统类型和用户自定义类型 系统数据类型 名称 二进制数 字 符 日期和时间 精确数值 近似数值 整 数 货 币 文 本 图 象 逻 辑 位 时 间 印 Int 数据类型 Binary[(n)] Char[(n)] Datetime Varbinary[(n)] Varchar[(n)] Smalldatetime
24/41
3.3.3 日期和时间函数(1)
返回当前的系统时间函数
GETDATE():返回当前的系统时间。
返回日期时间的指定部分函数
DATEPART和DATENAME函数都能返回给定日期的指定 部分,如:年、月、日等。
改变数值后的日期时间函数
DATEADD函数在指定日期时间的基础上加一段时间, 返回新的日期时间值。 Dateadd(datepart , number, date )
25/41
3.3.3 日期和时间函数(2)
求两日期时间之间的差值函数
DATEDIFF函数:返回开始日期和结束日期在给定日期部 分上的差值。 datediff(datepart , startdate , enddate )
26/41
3.3.3 日期和时间函数(3)
Datepart参数可用的值
Year quarter Month dayofyear Day Week Hour minute second millisecond yy, yyyy qq, q mm, m dy, y dd, d wk, ww hh mi, n ss, s ms
删除空格函数
LTRIM( )和RTRIM( )函数分别用于删除字符串的左 部空格和右部空格。
数字转换字符函数
STR( )函数:将数字数据转换成字符数据。
20/41
3.3.2 数学函数(1)
ABS( ) 绝对值函数 SIN ( ) 正弦函数 COS( ) 余弦函数 TAN( ) 正切函数 COT( ) 余切函数 ASIN( ) 反正弦函数 ACOS( ) 反余弦函数
8/41
3.2.3 变量
局部变量定义
DECLARE @VariableName Data_Type 说明: 变量名 一次可以声明多少个变量; 局部变量在声明后均初始化为NULL。 数据类型
例1:声明一个长度为8个字符的变量id,并赋值 declare @id char(8) select @id=‘10010001’
标识符不能是SQL的关键词,例如:“table”、“TABLE”、 “select”、“SELECT”都不能作为标识符。 标识符中不能有空格符,或_、#、@、$之外的特殊符号。 标识符的长度不得超过128个字符长度。
4/41
3.2.2 注释
注释有两个作用
说明代码的含义,增强代码的可读性; 可以把程序中暂时不用的语句注释掉,使它们暂时不 被执行,等需要这些语句时,再将它们恢复。
PATINDEX( )
返回一个子串在字符串表达式中的起始位置, 返回一个子串在字符串表达式中的起始位置,在子串中可以使用通配符 ‘%’,这个函数可以用在TEXT、CHAR和VARCHAR类型的数据上 ,这个函数可以用在 、 和 类型的数据上 返回两个字符串的匹配程度 返回两个字符串发音的匹配程度 把大写字母转换成小写字母
9/41
3.2.3 变量
Example:
Declare @a Datetime,@b int --声明 个变量 声明2个变量 声明 Set @a=‘2001-01-01’ Set @b=(select min(salary) from Employees DECLARE @last_error in --声明变量 声明变量 SELECT @last_error = 12 --给变量赋值 给变量赋值