首页 > 数据库 >sqlserver 游标

sqlserver 游标

时间:2023-02-15 11:44:05浏览次数:43  
标签:-- sqlserver 游标 FETCH temp1 ID select

cast(str as type)

print cast('14.23' as decimal(5,3))
--14.230
--5为精度,指除小数点外,最长为5位,优先整数位14,为2位,剩下的为小数位,这里是23,可以成功转换,结果为14.230 npmmirror 中国镜像站
--精度指数字的位数。 小数位数指小数点后的数字位数。 例如,数 123.45 的精度是 5,小数位数是 2。

print cast('1234.23' as decimal(5,3))
--将 varchar 转换为数据类型 numeric 时出现算术溢出错误。

--select rtrim(substring('客户编号 => 客户编号',0,patindex('%=%','客户编号 => 客户编号')))

replicate(input_string, count)

返回count个,input_string的字符串结果
select REPLICATE('AB',2) --ABAB
select REPLICATE('AB',0) --
select REPLICATE('AB',-3) --NULL

select CHARINDEX('测试','查询下标测试') --5

select SUBSTRING('查询下标测试',1,2) --查询

字符串拼接
create table #temp1(column0 int,column1 nvarchar(10))
insert into #temp1 values(1,'ab'),(1,'cd'),(1,'ef'),(3,'gh')
select stuff((select column1+',' from #temp1 for xml path('')),1,0,''),sum(1) from #temp1
drop table #temp1

select column1 from #temp1 group by column0

游标

@@FETCH_STATUS :   0:成功读取到行   -1:没取到数据,游标中的数据已取完    -2.没获取到行,进程被中断


DECLARE @ID NVARCHAR(50),@NAME NVARCHAR(50)
DECLARE VARCURSOR CURSOR FOR SELECT ID,NAME FROM Table
OPEN VARCURSOR
FETCH NEXT FROM VARCUSOR INTO @ID,@NAME
IF @@FETCH_STATUS <> -1 AND @@FETCH_STATUS <>-2
BEGIN
SELECT @ID,@NAME
FETCH NEXT FROM VARCUSOR INTO @ID,@NAME
END
CLOSE VARCURSOR
DEALLOCATE VARCURSOR

标签:--,sqlserver,游标,FETCH,temp1,ID,select
From: https://www.cnblogs.com/data-success/p/17122230.html

相关文章

  • sqlServer 2019 开发版(Developer)下载及安装
    下载软件官网只有2022的,2019使用百度网盘进行下载安装下崽器选择自定义安装选择语言、以及安装位置点击“安装”安装SQLServer可能的故障以上步骤......
  • oracle批量更新之使用游标进行分批次更新的5种方式及速度比对
     1.情景展示一共有22w条数据, 需要将A表的主键更新至B表的指定字段,如何快速完成更新?2.解决方案声明:解决方案不只一种,该文章只介绍快速游标法及代码实现;两张表......
  • sqlserver2019 服务启动失败 报10013
    排查:D:\ProgramFiles\MicrosoftSQLServer\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG023-02-1310:57:05.22spid22sAself-generatedcertificatewassuccessfu......
  • SQLServer TempDB迁移
    1.查询目前TempDB的位置select*FROMsys.master_filesWHEREdatabase_id=DB_ID('tempdb');  2.迁移的到目标的权限问题,需要赋予sqlserver服务启动账号的权限读......
  • sqlserver sp_executesql和 EXEC 区别和用法
    sqlserversp_executesql和 EXEC区别和用法MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接......
  • sqlserver 查看表占用的大小
    ifobject_id('tempdb..#Tab')isnotnulldroptable#TabCREATETABLE#Tab(NAMEnvarchar(100),ROWSchar(20),reservedvarchar(18),Datavarchar(18),index_siz......
  • C# List转SqlServer、MySql中in字符串
    varoneList=newList<string>{"1","2","3"};varoneString=string.Join("'......
  • SqlServer2014中创建dblink
    1.sqlserver2014远程访问sqlserver20142.sqlserver远程访问oracleSqlServer2008R2访问oracle11g本地要安装好oracle客户端(win64_11gR2_client.zip)下载驱动包ODAC11203......
  • SQLSERVER 的 truncate 和 delete 有区别吗?
    一:背景1.讲故事在面试中我相信有很多朋友会被问到truncate和delete有什么区别,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应......
  • sqlserver 新建的表 提示表对象名不存在
    问题描述:记录一下以前的遇到的一个小问题。SQL中表确实存在,  但是却显示对象名无效,如下图所示:  办法:使用Ctrl+shift+R 刷新下SQLServerManagementStudi......