加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server SQL 特殊语句(学习笔记)

发布时间:2020-12-12 07:40:03 所属栏目:MsSql教程 来源:网络整理
导读:感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 【1】 以XML 返回 (1)未定义属性的 select logisticsId,logisticsName from LogisticsCompany for xml auto,elements (2)定义属性节的 代码如下: SELECT TOP 21 AS Tag,NULL AS Par

感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

【1】 以XML 返回
(1)未定义属性的
select logisticsId,logisticsName from LogisticsCompany for xml auto,elements
(2)定义属性节的

代码如下:

 
SELECT TOP 21 AS Tag,NULL AS Parent,title_id AS [titles!1!title_id],title AS [titles!1!title!element],type AS [titles!1!type] 
FROM 
titles 
FOR XML EXPLICIT 

【2】处理大批量数据的添加

代码如下:

 
CREAT PROCEDURE [dbo].[Sp_DB_InsertBatch] 
( 
@LogXml NVARCHAR(MAX),@LastTime DATETIME,@CurrentTime DATETIME 
) 
AS 
BEGIN 
BEGIN TRAN 
BEGIN TRY 
--使用OPENXML()需要一个准备动作: 
--定义一个文档指针@XMLHandler,类型为int(SP_XML_PREPAREDOCUMENT)。 
--使用完后还需要把它释放掉(SP_XML_REMOVEDOCUMENT) 
DECLARE @XMLHandler INT; 
--OPENXML()本身返回一个行集,并且需要3个参数和一组列映射定义。 
--预先准备好的文档指针@XMLHandler,搜索路径起点,映射标志。 
EXEC SP_XML_PREPAREDOCUMENT @XMLHandler OUTPUT,@LogXml; 
INSERT INTO [dbo].[DBRate] 
([RateID],[LastModifyTime],[LastTime],[CurrentTime]) 
SELECT [RateID],@LastTime,@CurrentTime 
FROM OPENXML(@XMLHandler,'/DB/DBRate',2) 
WITH( RateID INT,LastModifyTime DATETIME 
) 
--释放掉(SP_XML_REMOVEDOCUMENT) 
EXEC SP_XML_REMOVEDOCUMENT @XMLHandler; 
COMMIT TRAN 
END TRY 
BEGIN CATCH 
ROLLBACK TRAN 
END CATCH 
END 

【3】转换类型

代码如下:

 
select convert(int,'100.1') 
select cast('100' as int) 


截取并替换其他字符
select stuff('1347097110',5,6,'*******')
获取ID为4附近的四条数据
select top 4 * from Student order by abs(4-id)
分组获取 select * from (select Row_Number() Over(partition by sex order by ID) as rowindex,* from Student) a where rowindex<5
联表删除数据 deletefrom Souce from Souce inner join Student on Souce.sid = Student.id

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读