T-SQL中的语法约定:
1. 文字大写:说明该文字是T-SQl的关键字。
2. 文字小写或斜体:说明该文字是用户提供的T-SQL语法参数。
3. 文字粗体:说明该文字数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本。
4. 下画线(_):指示当前语句中包含带下画线的值的子句时应用的默认值。
5. 竖线(|):分隔括号或大括号中的语法项,只能选择其中一项。
6. 方括号([]):可选语法项,使用时不要键入方括号。
7. 大括号({}):必选语法项,使用时不要键入大括号。
8. [,…n]:指示前面的项可以重复n次,每一项由逗号分隔。
9. […n]:与上面的类似,用来指示前面的项可以重复n次,不过每一项由空格分隔。
10. [;]:可选的T-SQL语句终止符。使用时不要输入方括号。
11. <label> ::= :语法快的名称。此约定用于对可在语句中的多个位置使用的过长语法段或语法单元进行分组和标记。可使用的语法块的每个位置由括在尖括号内的标签指示。(类似变量的声明和引用)
SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
1. 当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。
2. SQL-92 标准要求在对空值进行等于(=) 或不等于 (<>) 比较时取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。
3. 当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为XYZ_value 也不为 NULL 的行。
在sql server联机丛书中怎么查找内置函数
数据库引擎——技术参考——Transact-SQL参考——Functions(Transact-SQL),打开该目录即可
(第一次在联机丛书找内置函数的时候很纠结,搜索可以很方便的找到,但是对于刚开始接触的人想找里面都有哪些函数还是比较困难的。第一次查询datepart函数情形如下,目录:数据库引擎——开发——查询和更改数据——Transact -SQL元素——函数;在点击函数之后,在该页面点击“日期和时间函数”,在出现的页面ctrl+F找到了datepart。其实有的人可能会说直接索引或者搜索可以很方便的找到,确实可以很方便的找到,但是对于初学者可能还想知道怎么找到还有其他的什么函数,可能没个版本的目录不太一样,百度搜索也没能具体解决,最后根据URL栏目的数据,然后大范围的点击之后找到了上面那个目录,找到之后发现人家的位置也处在合理的位置,只是“Transact-SQL参考”目录下东西太多,自己没自习看,或者说英语还是不地道,或许看到了function,没想到里面就是自己要找的内容。
)
其中CRUD(create,retrive,update,delete为什么不叫IDUS:insert,delete,update,select?)也可以再“Transact-SQL参考”目录下找到相应语法和示例,键入首字母可以快速定位。