SqlServer中查询语句
--XML格式字段解析 --如XML为:<Row Item="02" Text="2017-04-27" /> -- <Row Item="01" Value="测试" /> -- <Row Item="01" Text="2017-06-27" Value="测试" /> SELECT nref.value('@Item', 'varchar(20)') AS Item , nref.value('@Text', 'varchar(20)') AS Text , nref.value('@Value', 'varchar(20)') AS Value FROM (SELECT CAST('<Row Item="02" Text="2017-04-27" /> <Row Item="01" Value="测试" /> <Row Item="01" Text="2017-06-27" Value="测试" />' AS XML ) AS xmlDoc) a CROSS APPLY xmlDoc.nodes('/Row') AS R(nref)
--ChildID,Name为该临时表的列名 SELECT ChildID , Value AS Name INTO #pinYin FROM dbo.SpotWeb WHERE Name = '拼音' AND ParentId = 'f7cf01f4-76fa-4e8d-b715-05727371f3ae'
IF OBJECT_ID('tempdb..#temp') is NOT NULL DROP TABLE #temp; --查询是否存在有#temp临时表,如存在,将其删除 IF EXISTS(SELECT 1 FROM sys.sysobjects WHERE name = 'temp') DROP TABLE temp; --查询是否存在有表temp,如果有,则将其删除
EXEC sys.sp_who @loginame = 'sa' --查看'sa'用户登陆的数据库的用户和进程 EXEC sys.sp_depends @objname = 'dbo.Audit_Stat' -- nvarchar(776) --查看该表相关的依赖信息 EXEC sys.sp_help @objname = 'dbo.Audit_Stat' -- nvarchar(776) --查看该对象的所有信息 EXEC sys.sp_helpindex @objname = 'dbo.Audit_Stat' -- nvarchar(776) --查看该对象所对应的索引信息 EXEC sys.sp_helptext @objname = 'dbo.qry_Audit' --查看该存储过程对应的信息 EXEC sys.sp_password @old = NULL, -- sysname @new = NULL, -- sysname @loginame = NULL -- sysname --修改数据的密码信息
SET IDENTITY_INSERT tableName OFF|ON --允许将显示值插入到标识符字段 SET NOCOUNT OFF|ON --允许返回影响行数 SET ROWCOUNT OFF|ON --在返回指定的行数之后停止处理查询。
@@FETCH_STATUS --返回被 FETCH 语句执行的最后游标的状态, --而不是任何当前被连接打开的游标的状态。 --0表示FETCH 语句成功 --可以用于循环取游标中数据
PRINT @@ERROR --无错时,返回为0 --有错时,返回该错误代码
SELECT * INTO #temp FROM dbo.Audit_Stat WHERE AuditItem = '020' ; PRINT @@IDENTITY; DROP TABLE #temp; --@@IDENTITY;保存系统中最后修改的标识符
DECLARE @Item VARCHAR(10) SET @Item = '020'; SELECT AuditItem, Date, Obj, ObjType, Count INTO #temp FROM dbo.Audit_Stat WHERE AuditItem = @Item; --在创建时,对该游标时时进行赋值 --DECLARE temp_cursor CURSOR FOR SELECT * FROM #temp; DECLARE @temp_cursor CURSOR; --创建时不指定游标的范围时是全局的 --SET @temp_cursor = CURSOR FOR SELECT * FROM #temp; --创建时FORWARD_ONLY,游标移动时只能FETCH NEXT --SET @temp_cursor = CURSOR LOCAL FORWARD_ONLY FOR SELECT * FROM #temp; --创建时SCROLL,游标可以任意移动 SET @temp_cursor = CURSOR LOCAL SCROLL FOR SELECT * FROM #temp; SET @temp_cursor = CURSOR LOCAL FOR SELECT * FROM #temp; OPEN @temp_cursor; DECLARE @itemCode VARCHAR(10); DECLARE @theDate common.DT_Date; DECLARE @obj VARCHAR(10); DECLARE @objType VARCHAR(10); DECLARE @theCount INT ; FETCH NEXT FROM @temp_cursor INTO @itemCode, @theDate, @obj, @objType, @theCount UPDATE #temp SET Count = 100 WHERE CURRENT OF @temp_cursor; SELECT * FROM #temp; CLOSE @temp_cursor; DEALLOCATE @temp_cursor; DROP TABLE #temp;
TRUNCATE TABLE #temp; --Truncate删除比Delete快, --但删除后不能RollBack --Delete是物理-次一行删除 --Truncate释放所有与表关联列
SELECT TOP 2 * FROM dbo.Audit_Stat WHERE AuditItem = '010' UNION ALL SELECT TOP 2 * FROM dbo.Audit_Stat WHERE AuditItem = '010' --UNION,UNION ALL --可以将查询出的结果进行联合,但必须注意的是, --查询的结果对应结构相同,对应的类型兼容 --UNION:对于查询的结果,如果相同,则合并 --UNION ALL: 对应查询的结果,直接联接,不合并
SELECT AuditItem, SUM(Count) sum FROM dbo.Audit_Stat GROUP BY AuditItem HAVING SUM(Count) > 1000; --HAVING可对分组后的集合进行过滤
SELECT AuditItem, SUM(Count) FROM dbo.Audit_Stat WHERE AuditItem = '030' GROUP BY ALL AuditItem; --注意Where语句的添加后,对于all更有对比性 --不加all时,仅显示AuditItem = '030'的Code和对应的和 --加上all时,显示所有的AuditItem,但对应的和为空
SELECT * FROM dbo.Audit_Stat WHERE AuditItem LIKE '0[^0-2]0'; --%匹配任意个字符 --_匹配单个字符 --[0-9]匹配该范围中的单个字符 --[^0-9]匹配不在该范围中的单个字符
SELECT * FROM dbo.Audit_Stat WHERE Count BETWEEN 1 AND 2 ; --Between N1 and N2 是[N1,N2],包含两边界 --Not Between N1 and N2 是 < N1 and > N2意思
SELECT IDENTITY(INT,100,1) AS '序号', Count, AuditItem INTO #temp FROM dbo.Audit_Stat --创建使用IDENTITY属性的新列, --直接创建#temp临时表,并将数据插入到该表中
SELECT TOP 3 AuditItem, SUM(Count) FROM dbo.Audit_Stat GROUP BY AuditItem ORDER BY AuditItem; --Top的应用 --查询结果中取前面3行
DECLARE @ItemCode VARCHAR(10); SELECT @ItemCode = AuditItem FROM dbo.Audit_Stat WHERE ID = -1; --查询时赋值,当有多个值是将最后查询值赋入当前声明变量中
--写法1 SELECT CASE count WHEN 1 THEN 'YES' WHEN 2 THEN 'NO' ELSE 'OTHER' END TEST, * FROM dbo.Audit_Stat; --写法2 SELECT CASE WHEN COUNT = 1 THEN 'YES' WHEN COUNT = 2 THEN 'NO' ELSE 'OTHER' END TEST, * FROM dbo.Audit_Stat; --注意其中case判断的结果必须为同一类型 --例:'YES', 'NO', 'OTHER'均为字符型
相关推荐
SqlServer查询语句,根据开工日期和工期,计算跳过节假日后的完工日期。Crm_Holiday为节假日表,需要每年维护
在SQL Server中,查询语句是否可以使用变量来表示表名是一个常见的疑问,尤其是在编写动态SQL时。在SQL Server中,确实可以通过变量来构建动态的表名,但这需要借助存储过程或者动态SQL来实现。这是因为SQL语句在...
SQL Server 查询语句练习题汇编 本资源汇编了 SQL Server 查询语句的练习题,涵盖了创建表、插入数据、查询数据等方面的知识点。通过本资源的学习,读者可以熟悉 SQL Server 的查询语句,提高数据库操作的能力。 ...
文章的标题《SQL Server查询语句在统计病案程序中的应用.pdf》表明文档讨论了如何使用SQL Server数据库管理系统中的查询语句,对统计病案程序中的数据进行处理和分析。描述中提到文章的目的是为了快速全方位地观察、...
SqlServer查询语句中的锁
MS SQL Server查询语句,以小数位数作为条件,可查询符合条件的记录。可查询多位小数位数。
对数据库查询语句的简绍.此文档主要针对sqlserver的一些简单查询语句的介绍。
sqlserver分页查询语句;sqlserver分页查询语句;sqlserver分页查询语句;
本文将详细介绍如何在SQL Server中快速查询并解决死锁问题。 首先,我们要检查是否有未提交的事务。未提交的事务可能会导致阻塞其他事务,进一步引发死锁。以下是一段SQL查询语句,用于找出所有未提交事务的详细...
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
### SQL Server 查询优化:识别与分析高资源消耗的SQL语句 #### 背景介绍 在数据库管理系统(DBMS)中,SQL Server 是一种广泛使用的解决方案,它为各种规模的企业提供强大的数据存储和处理能力。然而,在实际应用...
### SQL Server 2005 基本方法与语句详解 在数据库管理与开发领域,SQL Server 2005 是一个重要的工具,它提供了丰富的功能来满足数据存储、管理和查询的需求。本文将深入解析 SQL Server 2005 的基本方法与常用...
用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构
在SQL Server 2000中,查询语句是数据库管理的核心部分,它允许用户从数据库中检索所需的信息。SQL(Structured Query Language)是一种标准化的语言,用于管理和处理关系型数据库。下面将详细介绍SQL Server 2000中...
sql server 高级查询语句小结 讲述sql高级查询语句小结
SQL Server数据库查询语句优化的研究涵盖了对SQL Server数据库查询性能影响因素的分析以及优化方法的研究。SQL Server是微软公司开发的关系型数据库管理系统(DBMS),广泛应用于商业环境,支持决策支持和数据仓库功能...
sql server 查询当天,本周,本月,本年,30天内的数据的sql语句
SQL Server 之并行查询 并行查询是 SQL Server 中的一种查询优化技术,通过使用多个线程来处理查询作业,从而提高查询的效率。这种技术可以加速查询的执行速度,特别是在大表查询和复杂查询的情况下。 一、并行...