本文节选自《微软SQL Server 2008:初学者指南》学习SQL Server2008 T-SQL支持的基本元素和基本操作。你将了解T-SQL的基本对象和操作,包括常量、标识符和分隔符。你还将了解到每个对象与操作的相应的数据类型。作者Dusan Petkovic介绍SQL Server2008中的NULL值、标量对象和全程标量。
SQL的基本对象: 数据库语言引擎T-SQL和其他程序设计语言有着相同的特征: 字面值(也叫常量)标识符分隔符保留关键字以下部分主要介绍这些内容。 字面值 字面值是一个包括文字与数字,十六进制或数字常量。一个字符常量包含单引号(’ ‘)或……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
本文节选自《微软SQL Server 2008:初学者指南》学习SQL Server2008 T-SQL支持的基本元素和基本操作。你将了解T-SQL的基本对象和操作,包括常量、标识符和分隔符。你还将了解到每个对象与操作的相应的数据类型。作者Dusan Petkovic介绍SQL Server2008中的NULL值、标量对象和全程标量。
SQL的基本对象:
数据库语言引擎T-SQL和其他程序设计语言有着相同的特征:
- 字面值(也叫常量)
- 标识符
- 分隔符
- 保留关键字
以下部分主要介绍这些内容。
字面值
字面值是一个包括文字与数字,十六进制或数字常量。一个字符常量包含单引号(' ')或双引号(" ")字符集中的一个或多个字符(如果多次使用了双引号就更趋向于使用单引号)。
如果你想在单引号分割的字符串中用到单独的引号,你就可以在这一字符串中用连续的单引号。十六进制的常量表示不可打印的字符或者是其他二进制数据。每个十六进制的常量都以0x开头,后面附带有字符或者数字。例4.1和4.2就说明了有效和无效字符串常量和十六进制常量。
例4.1
有效字符常量和十六进制的常量如下:
'Philadelphia'
"Berkeley, CA 94710"
'9876'
'省略符号如下所示:can''t'(注意两个连续的单引号)
0x53514C0D
例4.2
下面的不属于字符常量:
'AB'C'(奇数个单引号) 'New York"(同样类型的引号——单或双——都必须在每个字符串末尾使用) |
数字常量包括所有有记号或没记号的整数、定点值和符点值(如例4.3)。
例4.3
以下属于数字常量
130 –130.00 –0.357E5 (科学计数法—nEm 表示n 乘10^m) 22.3E-3 |
一个常量通常有一种数据类型和长度,这二者都取决于常量格式。此外,每个数据常量都有一个精确度和比例因子。(不同字面值的数据类型在本章中会提到。)
分隔符
在T-SQL中,双引号有两层意思。除了应用字符串之外,双引号还能够用来做分隔符,也就是所谓的定界表示符(delimited identifier)。分割标识符是标识的一种特殊类型,通常将保留关键字当作标识符并且用数据库对象的名称命名空间。
注:单引号和双引号之间的区别就在于前者是用于SQL92标准。标识符这种情况中,这种标准用于区分常规和分割标识符。关键的两点就是分割标识符是用双引号引出的而且还区分大小写(T-SQL还支持用方括号代替双引号)。双引号只用于分割字符串。一般来说,分割标识符说明了标识符的规格,对保留的关键字也起到了同样的作用。分割标识符还可以让你不用名字(标识符、变量名),这些名字也可以在将来的SQL标准中用作保留的关键字。并且,分割标识符还可能在标识符名中包含不合规定的字符,如空格。
在T-SQL中,使用双引号是来定义SET 语句的QUOTED_IDENTIFIER选项的。如果这一选项设为ON(即默认值),那么双引号中的标识符就被定义成了分割标识符。在这种情况下,双引号就不能用于分割字符串。
注:说明一个T-SQL语句的注释有两种方法。使用一对字符/* and */ ,注释就是对附着在里面的内容进行说名。这种情况中,注释内容可能扩展成很多行。另外,这些字符--(两个连字符)表示当前行剩下的就是注释。(两个连字符就—符合ANSI SQL标准,而/*和*/是T-SQL的扩展名。
标识符
T-SQL中,标识符用于识别数据库对象如数据库、表和索引。他们通过字符串表示出来,这些字符串的长度可以达到128个字符,还包含字母、数字或者下面的字符:_、@,、#和$。每个名称都必须以一个字母或者以下字符中的一个字符开头:_、@或#。#在以它开头的表明或存储程序名表示一个临时对象,而以@开头的时间则表示一个变量。就像是之前提到的,这些规则并不适用于分割标识符(也叫作引用标识符),分割标识符可以将这些字符包含在内或者其中的任意字符开头(而不是分割副自己)。
保留关键字
每种程序设计语言都有一系列有保留意义的名称,他们被写入并用在定义格式中。这些名称叫做保留关键字。T-SQL使用了大量这种名称,很多其他程序设计语言都不能用它们做对象名,除非这些对象是被详细划分或者是引用标识符。
注:在T-SQL中,所有数据类型的名称和系统功能,如CHARACTER和INTEGER都不是保留的关键字。它们是用来表示对象。(不要使用数据类型和系统功能作对象名称!这样会让T-SQL语句很难理解)
翻译
相关推荐
-
SQL Server 2016新变化:内存中OLTP功能大改进
SQL Server 2016的许多功能得到改进,内存中OLTP(in-memory OLTP)也不例外,包括扩展性、性能以及扩展T-SQL用于使用和管理内存优化表的功能方面。
-
优化T-SQL提升SQL Server数据库性能
本文中提供了八种优化T-SQL代码避免SQL Server数据库性能瓶颈的技巧,我们可以据此优化数据库应用。
-
配置SQL Server数据库恢复模式的两种方法
本文我们讨论了配置SQL Server恢复模式的两种方式,用T-SQL或者SQL Server管理工具都可以修改恢复模式的设置。
-
用T-SQL在SQL Server 2012中创建用户自定义角色
SQL Server 2012中引入了两项功能,即创建用户自定义服务器角色和分配服务器级别的权限。本文为初级DBA给出了一个用户自定义服务器角色的示范用例。