-
Sqlfunction多行中的列合并为一行一列的方法
复制代码代码如下:CREATETABLEtb(standardsvarchar(50),amountvarchar(50),variationvarchar(50),statussvarchar(50),Reasonvarchar(50))insertintotbvalues('55','279','4','物量积压','加工人员设备不足;T排制作进度较慢;')insertintotbvalues('55','279','4','物量积压','部件人员不足;')insertintotbvalues('55','279','4','物量积压','跨间场地积压;图纸问题较多;')insertintotbvalues('56','300','4','物量积压','AAAA;')insertintotbvalues('56','300','4','物量积压','BBBB;')insertintotbvalues('56','300','4','物量积压','CCCC;')createfunctiontest(@standardsvarchar(100))returnsvarchar(8000)...
数据库操作教程 2022-09-23 20:37:32 -
删除Table表中的重复行的方法
利用SQLServer2005的新功能NOW_NUMBER和CTE可以很好的实现.举例说明如下:建立测试数据:复制代码代码如下:createtableDup1(Col1intnull,Col2varchar(20)null)insertintoDup1values(1,'aaa'),(2,'aaa'),(2,'aaa'),(2,'aaa'),(3,'bbb'),(3,'bbb'),(4,'ccc'),(4,'ddd'),(5,'eee')select*fromDup1可以查看到重复的数据有:复制代码代码如下:SELECTCol1,Col2,COUNT(*)ASDupCountFROMDup1GROUPBYCol1,Col2HAVINGCOUNT(*)>1接下来介绍如何delete掉重复的数据:1...
数据库操作教程 2022-09-23 20:37:16 -
SQL语句练习实例之六人事系统中的缺勤(休假)统计
复制代码代码如下:---这是一个人事系统中的示例,要求记录一下员工的缺勤情况---1.要在表中记录一下缺勤计分,是对经常缺勤者的一种处罚性计分---规则:---1.如果员工在一年内的缺勤计分达到50,就会可以解雇该员工。---2.如果员工缺勤连续超过一天,就视为长病假,这时,第二天,第三天及以后的天数都不会统计该员工的缺勤计分----这些天也不算为缺勤...
数据库操作教程 2022-09-23 20:36:11 -
SQLServer中的死锁说明
两个进程发生死锁的典型例子是:进程T1中获取锁A,申请锁B;进程T2中获取锁B,申请锁A,我们下面动手来演示一下这种情况:1.创建一个Database,名为InvDB。2.执行下面脚本创建person表并填充两条数据:3.在SQLServerManagementStudio的两个窗口中同时执行下面的查询:这段代码在默认的READCOMMITTED隔离级别下运行,两个进程分别在获取一个排它锁的情况下,申请对方的共享锁从而造成死锁...
数据库操作教程 2022-09-23 20:35:16 -
SQLServer中的T-SQL的基本对象
1、常量常量是一个包含文字与数字,十六进制或数字常量。一个字符串常量包含单引号('')或双引号("")字符集中的一个或多个字符...
数据库操作教程 2022-09-23 20:33:42 -
SQL语句一个简单的字符串分割函数
复制代码代码如下:CREATEFUNCTIONdbo.f_splitstr(@strvarchar(8000))RETURNS@rTABLE(idintIDENTITY(1,1),valuevarchar(5000))ASBEGIN/*Functionbody*/DECLARE@posintSET@pos=CHARINDEX(',',@str)WHILE@pos>0BEGININSERT@r(value)VALUES(LEFT(@str,@pos-1))SELECT@str=STUFF(@str,1,@pos,''),@pos=CHARINDEX(',',@str)ENDIF@str>''INSERT@r(value)VALUES(@str)RETURNENDselect*fromf_splitstr('中,国,人')...
数据库操作教程 2022-09-23 20:32:53 -
扩展性很好的一个分页存储过程分享
这是经常用的一个分页存储过程希望大家指点不足复制代码代码如下:USE[a6756475746]GO/******Object:StoredProcedure[dbo].[tbl_order_SearchWhereAndPage]ScriptDate:11/01/201109:37:39******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo]...
数据库操作教程 2022-09-23 20:31:39 -
sqlserver清空servicebroker中的队列的语句分享
复制代码代码如下:USETestDBdeclare@conversationuniqueidentifierwhileexists(select1fromsys.transmission_queue)beginset@conversation=(selecttop1conversation_handlefromsys...
数据库操作教程 2022-09-23 20:30:24 -
MSSQLSERVER中的BETWEENAND的使用
資料CustomerIdNameRegisterDate1澎澎2007/1/500:00:002丁丁2007/1/600:00:003亞亞2007/1/700:00:00aspx頁面查詢條件:最小日期:[2007-01-06] 最大日期:[2007-01-06]使用的sql:SELECTID,Name,RegisterDateFROMCustomerWHERE(RegisterDateBETWEEN'2007-01-06'AND'2007-01-06')結果是傳回1筆:丁丁,符合我的預期但是如果丁丁的RegisterDate的時間不是00:00:00呢?如果資料是這樣IdNameRegisterDate1澎澎2007/1/500:00:002丁丁2007/1/604:37:003亞亞2007/1/700:00:00一樣的sqlSELECTID,Name,RegisterDateFROMCustomerWHERE(RegisterDateBETWEEN'2007-01-06'AND'2007-01-06')傳回來的是0筆 ...
数据库操作教程 2022-09-23 20:29:40 -
sqlserver中的decimal或者numeric的精度问题
何谓精度:最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从1到最大精度38之间的值...
数据库操作教程 2022-09-23 20:26:23 -
一个常用的报表统计SQL语句
一般都给定按日期区间统计某一值,每一个列就是统计时的分类。如下图:下面给出上图的例子的sql语句写法:(注:此处是按“日期”字段统计)复制代码代码如下:select日期,自选字段1,自选字段2,sum(类型1)类型1,sum(类型2)类型2,sum(类型3)类型3,sum(类型4)类型4,sum(类型5)类型5,sum(类型6)类型6from(selectto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd')日期,自选字段1,自选字段2,count(主键字段)类型1,0类型2,0类型3,0类型4,0类型5,0类型6from表名where1=1groupbyto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd'),自选字段1,自选字段2unionallselectto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd')日期,自选字段1,自选字段2,0类型1,count(主键字段)类型2,0类型3,0类型4,0类型5,0类型6from表名where1=1groupbyto_date...
数据库操作教程 2022-09-23 20:23:47