-
SQLserver使用自定义函数以及游标
编号标准宗地编码(landCode)所在区段编码(sectCode)1131001BG001G0012131001BG002G0013131001BG003G0014131001BG004G0025131001BG005G003现在需要将表中的数据转换为如下表所示结果:编号区段编码包含的标准宗地1G001131001BG001,131001BG002,131001BG0032G002131001BG0043G003131001BG005在SQLserver数据库中,创建自定义函数...
数据库操作教程 2022-09-23 20:30:43 -
一句Sql把纵向表转为横向表,并分别分组求平均和总平均值
效果如图所示:测试sql语句如下:复制代码代码如下:declare@tabtable(Classvarchar(20),Studentvarchar(20),Coursevarchar(50),Quantitydecimal(7,2));insertinto@tab(Class,Student,Course,Quantity)values('A班','张三','语文',60);insertinto@tab(Class,Student,Course,Quantity)values('A班','张三','数学',70);insertinto@tab(Class,Student,Course,Quantity)values('A班','张三','英语',80);insertinto@tab(Class,Student,Course,Quantity)values('A班','李四','语文',30);insertinto@tab(Class,Student,Course,Quantity)values('A班','李四','数学',40);insertinto@tab(Class,Stude...
数据库操作教程 2022-09-23 20:15:46 -
SQL将一列拆分成多列的三种方法
数据表中有一列数据,如图所示:现在需要将该列数据分成三列。SQL代码如下所示:第一种selectmax(casewhenF1%3=1thenF1else0end)a,max(casewhenF1%3=2thenF1else0end)b,max(casewhenF1%3=0thenF1else0end)cfromHLR151groupby(F1-1)/3效果第二种selectc1=a.F1,c2=b.F1,c3=c.F1fromHLR151aleftjoinHLR151bonb.F1=a.F1+1leftjoinHLR151conc.F1=a.F1+2where(a.F1-1)%3=0效果第三种selectmax(casewhen(F1-1)/8=0thenF1else0end)a,max(casewhen(F1-1)/8=1thenF1else0end)b,max(casewhen(F1-1)/8=2thenF1else0end)cfromHLR151groupby(F1-1)%8效果以上就是SQL将一列拆分成多列的三种方法的详细内容,更多关于SQL一列拆分成多列的资料请关注脚本之家其...
数据库操作教程 2022-09-23 18:24:53 -
SQLServer免费版的安装以及使用SQLServerManagementStudio(SSMS)连接数据库的图文方法
一、SQLServer和SSMS的安装1.SQL的安装下载地址:SQLServer。进入下载地址选择Developer或者Express都可以...
数据库操作教程 2022-09-23 18:23:09 -
SQLSERVER数据库备份的三种策略及语句
1.全量数据备份 备份整个数据库,恢复时恢复所有。优点是简单,缺点是数据量太大,非常耗时全数据库备份因为容易实施,被许多系统优先采用...
数据库操作教程 2022-09-23 18:13:51 -
分组后分组合计以及总计SQL语句(稍微整理了一下)
今天看到了这个文章感觉内容挺多的,就是比较乱,实在不好整理,脚本之家小编就简单整理了一下,希望大家能凑合看吧分组后分组合计以及总计SQL语句 1)想一次性得到分组合计以及总计,sql:SELECT分组字段FROM表GROUPBY分组字段computesum(COUNT(*))2)分组合计1:SELECTCOUNT(*)FROM(SELECT分组字段FROM表GROUPBY分组字段)别名 3)分组合计2:SELECTCOUNT(*)FROM(SELECTdistinct分组字段FROM表)别名4)统计分组后的种类数: 例子1:分组合计SELECTJSSKQK_JGHFROMSJ_JSSKQKWHEREJSSKQK_JGHIN(SELECTJSJBXX_JGHFROMSJ_JSJBXXWHEREJSJBXX_JSLXM1=1)GROUPBYJSSKQK_JGHHAVING((SUM(JSSKQK_SSKCXS1)/40)>5)上面的语句已经可以满足要求分组了.假设执行后有3条记录,怎么才能把这个COUNT值求出?selectcount(*)fro...
数据库操作教程 2022-09-23 18:05:28 -
Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
先来定义分页语句将要用到的几个参数:intcurrentPage;//当前页intpageRecord;//每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载分页语句Stringsql="selecttop"+pageRecord+"*fromaddressbookwhereidnotin(selecttop"+(currentPage-)*pageRecord+"idfromt_user)";//(currentPage-)*pageRecord:是指从第几个记录开始第二页SQL演示:selecttop20*fromaddressbookwhereidnotin(selecttop10idfromaddressbook)二、MySQL数据库分页语句Stringsql="select*fromaddressbookwherelimit"+(currentPage-)*pageRecord+","+pageRecord+"";//select*from表名【条件】limitM,N;//M为从第几个记录开始,比如每页显示条记录,第二页就必...
数据库操作教程 2022-09-23 18:04:51 -
获取SqlServer存储过程定义的三种方法
存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值...
数据库操作教程 2022-09-23 18:02:19 -
查询SQLServer启动时间的三种方法
上午在分析索引的使用情况,想看一下数据库什么时候启动的,确保统计的数据没有问题,可以使用下面三种方法查询:--2008及之后版本才有SELECTsqlserver_start_timeFROMsys.dm_os_sys_infoselectcrdatefrommaster...
数据库操作教程 2022-09-23 17:40:30 -
SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQLSERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充...
数据库操作教程 2022-09-23 17:37:39 -
三种SQL分页查询的存储过程代码
复制代码代码如下:--根据MAX(MIN)IDCREATEPROC[dbo].[proc_select_id]@pageindexint=1,--当前页数@pagesizeint=10,--每页大小@tablenameVARCHAR(50)='',--表名@fieldsVARCHAR(1000)='',--查询的字段集合@keyidVARCHAR(50)='',--主键@conditionNVARCHAR(1000)='',--查询条件@orderstrVARCHAR(500),--排序条件@totalRecordBIGINTOUTPUT--总记录数ASIFISNULL(@orderstr,N'')=N''SET@orderstr=N'ORDERBY'+@keyid+N'DESC'IFISNULL(@fields,N'')=N''SET@fields=N'*'IFISNULL(@condition,N'')=N''SET@condition=N'1=1'DECLARE@sqlNVARCHAR(4000)--IF(@totalRecordISNULL)--BEGINSET@sql=N'S...
数据库操作教程 2022-09-23 17:29:47 -
sqlserver对字段的添加修改删除、以及字段的说明
复制代码代码如下:--新增表字段ALTERprocedure[dbo].[sp_Web_TableFiled_Insert](@TableNamevarchar(100),@FieldNamevarchar(100),@FieldExplainvarchar(200),@DataTypevarchar(100),@ConnectTableNamevarchar(100),@FieldLengthint,@NewsIDintoutput)asbegintransactionmytrandeclare@errorSumintifnotexists(SELECT*FROMsyscolumnswhereid=object_id(@TableName)ANDname=@FieldName)begininserttb_TableField(TableName,FieldName,FieldExplain,DataType,ConnectTableName,FieldLength,UserSetSign)values(@TableName,@FieldName,@FieldExplain,@Data...
数据库操作教程 2022-09-23 17:24:52