随笔分类 - MS SQL Server
摘要:按照SQL的逻辑查询处理顺序,Group BY子句是先于SELECT子句处理。平时写法(YEAR(birthday)):Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTYEAR(birthday)AS[Year],AVG([Salary])AS[AvgSalary]FROM[dbo].[Member]GROUPBYYEAR(birthday)只能使用SELECT一样的写法。是否可以在GROUP BY中使用SELECT阶段的名别呢,
阅读全文
摘要:PUR需求在Syteline system 做一份报表,By采购单收货的记录报表。实现时需要从三个表关联[matltran],[poitem] 和[vendaddr]去实现。详细存储过程,参考如下代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[usp_SyteLine_GetReceivingByPORepo
阅读全文
摘要:派生表也称作表子查询是表表达式的一种。派生表的查询语句写在一对小括号"()"中,后面还需要使用AS定义一个别名。例如,找出广东省的城市:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT*FROM(SELECT*FROMCityWHEREProvinceId=19)AsCity_Of_GuangDong执行结果(部分):CityIdProvinceIdCityNameZipCode19719广州市51000019
阅读全文
摘要:它不同于独立子查询,必须依赖于它所属的外部查询,不能独立调用。比如,查询出省份或市的省府或市府:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTprovinceId,CityId,CityName,ZipCodeFROMdbo.CityASc1WHERECityId=(SELECTMIN(c2.CityId)FROMdbo.Cityc2WHEREc2.ProvinceId=c1.ProvinceId)查询结果:provinceId
阅读全文
摘要:独立子查询,可以返回一个单独,或多个值(包括表),它不依赖于它所属的外部查询。返回单独值子查询例子,返回作者为John最后论题所有回复的记录:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT*FROMdbo.SubTopicWHERETopicId=(SELECTMAX([TopicId])FROMdbo.TopicWHERE[Author]='John')也可以写成,首先宣告一个变量,把某作者发表最后的论题的ID
阅读全文
摘要:要求,在每笔记录前添加一个字段,作为“序号”,实现这个要求,可以需要修改程序前台后台都行。下面的方法,不想修改程序,直接修改存储过程即可。参考下面代码片段:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->BEGINIFOBJECT_ID('dbo.#Asstes_It_Computer_Search')ISNOTNULLDROPTABLEdbo.#Asstes_It_Computer_SearchCREATETABLEdb
阅读全文
摘要:DATEPART()函数,返回指定日期和时间值的指定datepart 的整数。语法(Syntax): DATEPART(datepart,date)。第一个参数可以参考下表;而第二个参数传入(日期或时间)值的一部分。 datepart年year,yyyy,yy季度quarter,qq,q月month,mm,m年中的日dayofyear,dy,y日day,dd,d周week,wk,ww星期weekday,dw,w小时hour,hh分钟minute,mi,n秒second,ss,s毫秒millisecond,ms微秒microsecond,mcs纳秒nanosecond,nsTzoffset,t.
阅读全文
摘要:此函数是用来将值转换为指定的SQL Server数据类型,但它不是ANSI标准SQL,如果在转换时不使用到样式值时,建议使用标准函数CAST()。语法(Syntax): CONVERT(数据类型,value [,样式值])实例参考:http://www.cnblogs.com/insus/articles/1554836.html
阅读全文
摘要:此函数在调用时,是用来将值转换为指定的SQL Server数据类型,它是ANSI标准SQL,有一点不足的是,在调用时,不能使用样式值,可参考另一个转换函数CONVERT()。比如SQL Server没一个函数直接只取得当前系统的日期或是时间。下面例子演示:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTCAST(CURRENT_TIMESTAMPASDATE)AS[DATE],CAST(CURRENT_TIMESTAMPASTIM
阅读全文
摘要:下面列举出SQL Server返回实例系统日期和时间的函数,除了ANSI标准函数CURRENT_TIMESTAMP在应用时无需在函数后多加一对空的小括号"()"外,其余均需。从返回的数据类型"DATETIME2"就可以知道,后面三个函数是SQL Server 2008新增的。另外,函数CURRENT_TIMESTAMP和GETDATE()都是取得当前实例系统日期和时间,在调用时,建议优先使用ANSI标准的。 函数说明返回数据类型CURRENT_TIMESTAMPANSI SQL标准,当前实例系统日期和时间。DATETIMEGETDATE()当前实例系统日
阅读全文
摘要:SQL Server SUM()函数,计算字段值和,不包括NULL值。下面例子中,计算所有职员薪金总值:数据源:SQL语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTSUM([Salary])AS[Totals]FROM[dbo].[Member]执行结果:
阅读全文
摘要:SQL Server MIN()函数,返回字段值中最小值,排除NULL值。下面示例是计算出会员最小年龄:数据源:SQL语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTMIN([Age])AS[MinAge]FROM[dbo].[Member]执行结果:
阅读全文
摘要:SQL Server MAX()函数,运算时返回字段值最大值,排除NULL值。下面示例中,是计算出会员表中最大年龄:数据源:SQL语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTMAX([Age])AS[MaxAge]FROM[dbo].[Member]执行结果:
阅读全文
摘要:SQL Server COUNT()函数,可以计算记录总数。匹配条件不同,计算的结果也有所不一样。如COUNT(*)会得到所有记录,而COUNT([ColumnName]) 会得到所有非NULL值(NULL 不计入)的记录。数据源:演示COUNT(*)例子:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTCOUNT(*)AS[RecTotals]FROM[dbo].[Member]执行结果:演示COUNT([ColumnName]
阅读全文
摘要:SQL ServerAVG() 函数,运算时返回数值列的平均(Average)值,这个函数会省略NULL值不包括在计算中。数据源:下例是计算所有注册会员的平均年龄:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECTAVG([Age])AS[averageAge]FROM[dbo].[Member]执行结果:
阅读全文
摘要:CASE是一个标量表达式,根据条件逻辑返回一个值,既然是表达式,就不能当是一条语句来控制逻辑的流程。今天在网上看到一帖:http://topic.csdn.net/u/20110123/10/abbfd3ce-a858-4daa-bb25-167b2ed3e7f4.html?5083根据上帖,创建一个表,并填充数据:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATETABLEt(aNVARCHAR(10),bNVARCHAR(10)
阅读全文
摘要:T-SQL的比较运算符有=、>、<、>=、<=、<>、!=、!>和!<,最后三个比较运算符(!=、!>和!<)不是标准比较运算符。在应用这个比较运算符的时候,尽量使用标准的,因为非标准的比较运算符都可以用标准运算符去替代它。下面举个"<>"运算符的例子,搜索出工件编号不等于"43025318"的记录,数据源参考http://www.cnblogs.com/insus/articles/1937683.html这例子的数据样版:Code highlighting produced by
阅读全文
摘要:BETWEEN谓词是检查一个值或字段值是否在指定的范围内,当括这两个指定的边界值。下面演示,是搜索出年龄23岁至30岁的会员:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT[MemberId],[Job],[Age],[Salary]FROMdbo.MemberWHERE[Age]BETWEEN23AND30执行结果:如果不包含此范围记录需要在BETWEEN之前加上NOT,如:Code highlighting produced
阅读全文
摘要:LIKE谓词是用来检查字符或字段值是否与指定的模式(pattern)匹配。想使用这个LIKE谓词,不防先了解一下T-SQL通配符(wildcard) 。演示:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT[Location],[ItemCode],[CustomerID],[Allocated],[Allocatee],[AllocateDate],[Version]FROMdbo.wipStocksWHERE[Location
阅读全文
摘要:这个选项是在服务器启用SQL Mail。有两个值,一个是0表示SQL Mail不可用(默认值),另一个为1表示SQL Mail可用。执行下面代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->EXECmaster..xp_sendmail@recipients='test@mailaddress.com',--测试邮件地址@subject='SQLServermailtest',@message='H
阅读全文

浙公网安备 33010602011771号