随笔分类 -  SQLServer

数据库相关
摘要:1、EXEC命令的括号中只允许包含一个字符串变量,或者一个 字符串文本,或者字符串变量与字符串文本的串联。不能再括号中使用函数或CASE表达式,如下面尝试在括号中调用QUOTENAME函数以引用对象名称,运行将失败: 1: DECLARE @schemaname NVARCHAR(255),@tablename NVARCHAR(128) 2: SET @schemaname='dbo' 3: SET @tablename='Order Details' 4: 5: EXEC (N'SELECT COUNT(*) FROM '+QU... 阅读全文
posted @ 2011-08-25 11:30 梅子黄时雨 阅读(8250) 评论(0) 推荐(0)
摘要:很多与时间有关的查询都要求标识重叠的时期,下面的示例中,出于统计账单或其他目的,Sessions表跟踪应用程序的用户会话。会话表示接入到互联网的链接,例如一些互联网的供应商按照链接时间收费。该表包含主键(keycol),应用程序名称(app),用户名(usr),开始时间(starttime),结束时间(endtime) 创建表: USE [tempdb] GO /****** Object: Table [dbo].[Sessions] Script Date: 08/12/2011 10:56:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDEN 阅读全文
posted @ 2011-08-12 11:04 梅子黄时雨 阅读(341) 评论(0) 推荐(0)
摘要:使用Northwind的Employees表,根据存储的Birthdate返回每个员工离今天最近的生日,如果今年的生日已经过了,则返回明年的,反之,则返回今年的(注意,如果是闰年2月29日出生的,则在下个月的3月1号过生日) 1: WITH arg1 2: AS ( SELECT FirstName , 3: LastName , 4: BirthDate , 5: DATEDIFF(YEAR, BirthDate, GETDATE()) AS DIFF , 6: CAST(CONVERT(CHAR(8), GETDATE(), 112) AS DATETIME) AS Today 7: 阅读全文
posted @ 2011-08-11 18:01 梅子黄时雨 阅读(533) 评论(0) 推荐(0)