上一页 1 ··· 150 151 152 153 154
摘要: T-SQL提供了一个LIKE谓词,用于检查字符串是否能够匹配指定的模式。在前面介绍的PATINDEX函数中已经使用了类似的模式。接下来的这节将介绍模式中使用的通配符(wildcard),并演示它们的用法。%(百分号)通配符 百分号代表任意长度的字符串,包括空字符串。例如,以下查询返回姓氏(last name)以字符'D'开头的所有雇员:1 SELECT empid,lastname2 FROM HR.Employees3 WHERE lastname LIKE N'D%';_(下划线)通配符 下划线代表任意单个字符。例如,以下查询返回姓氏(last name)第 阅读全文
posted @ 2012-09-25 11:36 沙耶 阅读(371) 评论(0) 推荐(0)
摘要: 字符串串联运算符(加号[+]) T-SQL提供了加号(+)运算符,可以将两个或多个字符串合并或串联成一个字符串。例如,以下对Employees表的查询将雇员的firstname列、一个空格,以及lastname列串联起来,生成完整的姓名fullname列:1 SELECT empid,firstname + N''+ lastname AS fullname2 FROM HR.Employees; ANSI SQL规定对NULL值执行字符串串联运算也会产生NULL值的结果。这是SQL Server的默认行为。例如,考虑以下对Customers表的查询,如代码如下:1 SELEC 阅读全文
posted @ 2012-09-25 11:30 沙耶 阅读(860) 评论(0) 推荐(0)
摘要: 排序规则是字符数据的一个属性,封装了几个方面的特性,包括多语言支持(和Unicode类型有关,因为它支持所有语言)、排序规则、区分大小写、区分重音,等等。要得到系统中目前支持的所有排序规则极其描述,可以查询表函数fn_helpcollations,如下所示:1 SELECT name,description2 FROM sys.fn_helpcollations(); 例如,排序规则Latin1_General_CI_AS表示:Latin1_General 支持的语言是英语。字典排序 基于字典顺序对字符数据进行排序和比较('A'和'a'<'B 阅读全文
posted @ 2012-09-25 11:24 沙耶 阅读(406) 评论(0) 推荐(0)
摘要: SQL Server支持两种字符数据类型——普通字符和Unicode字符。普通字符数据类型包括CHAR和VARCHAR,Unicode字符数据类型包括NCHAR和NVARCHAR。它们二者的区别是:普通字符使用一个字节(byte)来保存每个字符,而Unicode字符则需要两个字节。当使用普通字符类型时,由于一个列只用一个字节来保存每个字符,所以就限制在这个列中只能使用英语这一语言,因为一个字节只能代表256(2^8)个不同的字符。一个列所支持的语言是由列的有效排序规则(collation)属性决定的。当使用Unicode数据类型时,一个列可以代表65535(2^16)个不同的字符,因为这时.. 阅读全文
posted @ 2012-09-25 10:43 沙耶 阅读(283) 评论(0) 推荐(0)
摘要: 标准作业:增加【转到】功能,支持转到对应作业项目界面和成组作业界面作业项目:增加【转到】功能,支持转到对应成组作业和标准作业界面成组作业:增加【转到】功能,支持转到对应作业项目和标准作业界面转到按钮的样式依照零件模块的按钮样式一样,为下拉子菜单。界面布局分隔条,请统一作出调整,一般情况下要求,改变窗体大小时,分隔条所处位置的比例不变。 阅读全文
posted @ 2012-09-25 09:07 沙耶 阅读(191) 评论(0) 推荐(0)
摘要: SQL支持一种所谓的同时操作的概念,其含义是认为在同一逻辑查询处理阶段中出现的所有表达式都是同时进行计算的。 例如,这个概念就可以解释为什么不能在SELECT子句中引用为同一SELECT子句中的列分配的别名,即使直觉上看起来应该能够这么做。考虑以下查询:1 SELECT orderid,YEAR(orderdate) AS orderyear,orderyear +1AS nextyear2 FROM Sales.Orders; 以上SELECT列表中第三个表达式对orderyear这一列名的引用是无效的,即使引用表达式位于这个别名的定义“之后”。因为从逻辑上来说,SELECT列表中各... 阅读全文
posted @ 2012-09-24 17:30 沙耶 阅读(452) 评论(0) 推荐(0)
摘要: SQL支持用NULL符号来表示缺少的值,它使用的是三值谓词逻辑,这意味着谓词的计算结果可以是TRUE、FALSE或UNKNOWN(未知)。 T-SQL在这方面遵循了标准。在SQL中处理NULL和UNKNOWN可能非常容易让人困惑,因为人们在直觉上更习惯于用二值逻辑(TRUE、FALSE)来进行思考。更为添乱的是,SQL中不同语言元素处理NULL和UNKNOWN的方式也有所不同。我们先从三值谓词逻辑说起。如果逻辑表达式只涉及已经存在的值,那么最终的计算结果要么为TRUE,要么为FALSE;但是当逻辑表达式涉及缺少的值时,其计算结果就是UNKNOWN。例如,考虑谓词salary > 0;当s 阅读全文
posted @ 2012-09-24 17:26 沙耶 阅读(1301) 评论(0) 推荐(0)
摘要: CASE表达式是一个标量表达式,它基于条件逻辑来返回一个值。注意,CASE是一个表达式,而不是一条语句;也就是会所,不能用它来控制活动的流程,也不能根据条件逻辑来做某些处理。相反,它只是根据条件逻辑来返回某个值。因为CASE是一个标量表达式,所以它可以支持任何标量表达式(如SELECT、WHERE、HAVING,以及ORDER BY子句)、CHECK约束,等等。 CASE表达式有两种格式:简单表达式和搜索表达式。CASE简单格式将一个值(或一个标量表达式)与一组可能的取值进行比较,并返回第一个匹配的结果。如果列表中没有值等于测试值,CASE表达式就返回其ELSE子句(如果存在)中列出的值... 阅读全文
posted @ 2012-09-24 16:04 沙耶 阅读(1809) 评论(0) 推荐(0)
摘要: T-SQL有几种不同的语言元素可以指定逻辑表达式,例如,查询过滤器(WHERE和HAVING)、CHECK约束,等等。在逻辑表达式中可以使用各种谓词(取值为TRUE、FALSE或UNKNOWN的表达式)和运算符。 T-SQL支持的谓词包括IN、BETWEEN,以及LIKE等。IN这个谓词用于检查一个值(或标量表达式)是否与一组元素中的至少一个相等。例如,以下查询返回订单ID等于10248、或10249、或10250的订单:1 SELECT orderid,empid,orderdate2 FROM Sales.Orders3 WHERE orderid IN(10248,10249,10... 阅读全文
posted @ 2012-09-24 15:41 沙耶 阅读(715) 评论(0) 推荐(0)
摘要: OVER子句用于为行为定义一个窗口(windows),以便进行特定的运算。可以把行的窗口简单地认为是运算将要操作的一个行的集合。例如,聚合函数和排名函数都是可以支持OVER子句的运算类型。由于OVER子句为这些函数提供了一个行的窗口,所以这些函数也称之为开窗函数。 聚合函数的要点就是要对一组值进行聚合,聚合函数传统上一直以GROUP BY查询作为操作的上下文。在前面的“GROUP BY”子句的讨论中,我们知道在对数据进行分组以后,查询为每个组只返回一行;因此,也就是要限制所有的表达式为每个组只能返回一个值。 聚合开窗函数使用OVER子句提供窗口作为上下文,对窗口中的一组值进行操作,而不... 阅读全文
posted @ 2012-09-24 10:37 沙耶 阅读(2068) 评论(0) 推荐(0)
上一页 1 ··· 150 151 152 153 154