SQL Server 4 1 TransactSQL SQLStructured Query Language

  • Slides: 32
Download presentation

数据库应用-数据库原理与SQL Server 4. 1 Transact-SQL语言基础 SQL:Structured Query Language ,RDBMS标准语言 数据定义(DDL): CREATE、ALTER、DROP T-SQL 数据操纵(DML): SELECT、INSERT、DELETE、UPDATE

数据库应用-数据库原理与SQL Server 4. 1 Transact-SQL语言基础 SQL:Structured Query Language ,RDBMS标准语言 数据定义(DDL): CREATE、ALTER、DROP T-SQL 数据操纵(DML): SELECT、INSERT、DELETE、UPDATE 数据控制(DCL): GRANY、DENY、ROVOKE 附加语言元素: 变量、运算符、函数、流程控制语句

数据库应用-数据库原理与SQL Server 二、数据类型 整型:bigint(8)、int(4)、smallint(2)、tinyint(1) 数值 定点: decimal或numeric 实型 浮点: float(8)、real(4) 字符: char(1~8000)、varchar(变长)、text(>8000) 数据类型 时间日期:

数据库应用-数据库原理与SQL Server 二、数据类型 整型:bigint(8)、int(4)、smallint(2)、tinyint(1) 数值 定点: decimal或numeric 实型 浮点: float(8)、real(4) 字符: char(1~8000)、varchar(变长)、text(>8000) 数据类型 时间日期: datetime(1753 -9999)、smalldatetime(1900 -2079) 货币: money(8)、smallmoney(4) 二进制: bit(0/1)、binary、varbinary(变长)、image 自定义

数据库应用-数据库原理与SQL Server 1、变量 例5 -1 声明一个datetime类型的局部变量。 DECLARE @date_var datetime 例5 -2 声明两个局部变量。 DECLARE @var

数据库应用-数据库原理与SQL Server 1、变量 例5 -1 声明一个datetime类型的局部变量。 DECLARE @date_var datetime 例5 -2 声明两个局部变量。 DECLARE @var 1 int , @var 2 money 例5 -3 用SET语句和SELECT语句为局部变量赋值。 DECLARE @var 1 datetime, @var 2 char(10) SET @var 1 = getdate() SELECT @var 2 = convert(char(10), @var 1, 102) 例5 -4 用SET语句将查询结果赋给局部变量并用SELECT语 句显示局部变量的值。 declare @date_var datetime set @date_var=(select min(birthday) from s) select @date_var as min_birthday

数据库应用-数据库原理与SQL Server 例5 -6 输出变量的值。 脚本: declare @date_var datetime set @date_var=(select min(birthday) from s)

数据库应用-数据库原理与SQL Server 例5 -6 输出变量的值。 脚本: declare @date_var datetime set @date_var=(select min(birthday) from s) print @date_var

数据库应用-数据库原理与SQL Server 3. 日期时间函数 getdate()、year(d)、month(d)、 day(d) datepart(datepart, d)(日期的datepart部分, datepart为日期类型,参见表 4 -4) dateadd(datepart, n, d)

数据库应用-数据库原理与SQL Server 3. 日期时间函数 getdate()、year(d)、month(d)、 day(d) datepart(datepart, d)(日期的datepart部分, datepart为日期类型,参见表 4 -4) dateadd(datepart, n, d) (日期加,即日期d的 datepart部分加数值n后的新日期) datediff (datepart, d 1, d 2) (日期减,即日期d 1 与d 2的datepart部分相差的值)

数据库应用-数据库原理与SQL Server 例4 -1 计算香港回归已经有多少年、多少天, 今天以后15个月是哪一天。 脚本: SELECT GETDATE(), DATEDIFF(YEAR, '1997 -7 -1', GETDATE()),

数据库应用-数据库原理与SQL Server 例4 -1 计算香港回归已经有多少年、多少天, 今天以后15个月是哪一天。 脚本: SELECT GETDATE(), DATEDIFF(YEAR, '1997 -7 -1', GETDATE()), DATEDIFF(DAY, '1997 -7 -1', GETDATE()), DATEADD(MONTH, 15, GETDATE())

数据库应用-数据库原理与SQL Server 4. 类型转换函数 convert(data_type, expression[, style]) cast(expression as data_type) 其中,style(日期样式)取值参见图 4 -5。

数据库应用-数据库原理与SQL Server 4. 类型转换函数 convert(data_type, expression[, style]) cast(expression as data_type) 其中,style(日期样式)取值参见图 4 -5。

数据库应用-数据库原理与SQL Server 例4 -2 将当前时间日期转换为美国格式(mm/dd/yyyy 及mm-dd-yyyy)、ANSI (yyyy. mm. dd),并将当前时间 的时间部分转换为字符串。 脚本: select getdate(), convert(char(10),

数据库应用-数据库原理与SQL Server 例4 -2 将当前时间日期转换为美国格式(mm/dd/yyyy 及mm-dd-yyyy)、ANSI (yyyy. mm. dd),并将当前时间 的时间部分转换为字符串。 脚本: select getdate(), convert(char(10), getdate(), 101), convert(char(10), getdate(), 102), convert(char(10), getdate(), 110), convert(char(10), getdate(), 114)

数据库应用-数据库原理与SQL Server 例5 -11 求10的阶乘。 脚本: DECLARE @s int, @times int set @s=1 set

数据库应用-数据库原理与SQL Server 例5 -11 求10的阶乘。 脚本: DECLARE @s int, @times int set @s=1 set @times=1 label 1: set @s=@s*@times set @times=@times+1 if @times<=10 goto label 1 print '结果为: '+str(@s)