-
sqlserver中Selectcount(*)和Count(1)的区别和执行方式
在SQLServer中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数。很多人其实对这三者之间是区分不清的...
数据库操作教程 2022-09-23 17:25:26 -
sqlserver合并DataTable并排除重复数据的通用方法分享
代码如下:复制代码代码如下:///<summary>///将两个列不同的DataTable合并成一个新的DataTable///</summary>///<paramname="dt1">源表</param>///<paramname="dt2">需要合并的表</param>///<paramname="primaryKey">需要排重列表(为空不排重)</param>///<paramname="maxRows">合并后Table的最大行数</param>///<returns>合并后的datatable</returns>publicstaticDataTableMergeDataTable(DataTabledt1,DataTabledt2,stringprimaryKey,intmaxRows){//判断是否需要合并if(dt1==null&&dt2==null){returnnull;}if(dt1==null&...
数据库操作教程 2022-09-23 17:25:18 -
sqlserver实现oracle的sequence方法
当然这点小问题是难不倒我们程序员的,“max+1啊”,有人会说这样的方式。是的,这种方式实现起来也比较简单...
数据库操作教程 2022-09-23 17:23:52 -
oracle学习笔记(二)
一、多行函数又称组合函数(GroupFunctions)、聚合函数1、TypesofGroupFunctionsavg、count、max、min、stddev、sum、varianceavg求平均数selectavg(nvl(列1,0))from表1count求行数在where条件中不允许使用聚合函数,但可以使用havingavg(列1)>1000having所起的作用和where一样二、子查询Subqueries查询前10行数据oracle:select*from表名whererownum<=10;sql:selecttop10*from表名单行子查询select*from表1where工资列1>(selectavg(工资列1)from表1)多行子查询select*from表1where工资列1in(selectmin(工资列1)from表1groupby部门列)三、自定义变量setverifyon/offshowallhelpshow/setcolumnliejustifyleft四、数据操作语句1、insert插入语句向表2里插入数据oracle:insert...
数据库操作教程 2022-09-23 17:19:52 -
使用FORFILES命令来删除SQLServer备份的批处理
虽然有很多种方式可以解决这个问题,但是我们可以用T-SQL代码来处理这个文件删除过程。我用xp_cmdshell命令和FORFILES命令来处理类似于你所列出的过程...
数据库操作教程 2022-09-23 17:16:55 -
INSERTINTOSELECT语句与SELECTINTOFROM语句的一些区别
1.INSERTINTOSELECT语句语句形式为:InsertintoTable2(field1,field2,...)selectvalue1,value2,...fromTable1要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:INSERTINTOSELECT语句复制表数据复制代码代码如下:--1.创建测试表createTABLETable1(avarchar(10),bvarchar(10),cvarchar(10),CONSTRAINT[PK_Table1]PRIMARYKEYCLUSTERED(aASC))ON[PRIMARY]createTABLETable2(avarchar(10),cvarchar(10),dint,CONSTRAINT[PK_Table2]PRIMARYKEYCLUSTERED(aASC))ON[PRIMARY]GO--2.创建测试数据InsertintoTable1values('赵','asds','90')InsertintoTable1values('钱'...
数据库操作教程 2022-09-23 17:16:32 -
sql分类汇总及Select的自增长脚本
如图:其中Num是自增长列,Operation是分类标签,count是汇总数据脚本如下:复制代码代码如下:selectNum=row_number()OVER(orderBYHT_Resv.OperationStatus),HT_Resv...
数据库操作教程 2022-09-23 17:14:20 -
SqlServer参数化查询之wherein和like实现之xml和DataTable传参介绍
方案5使用xml参数对sqlserverxml类型参数不熟悉的童鞋需要先了解下XQuery概念,这里简单提下XQuery是用来从XML文档查找和提取元素及属性的语言,简单说就是用于查询xml的语言说到这就会牵着到XPath,其实XPath是XQuery的一个子集,XQuery1.0和XPath2.0共享相同的数据模型,并支持相同的函数和运算符,XPath的方法均适用于XQuery,假如您已经学习了XPath,那么学习XQuery也不会有问题。详见https://www.jb51.net/w3school/xquery/xquery_intro.htmXQuery概念了解后需要进一步了解下SqlServer对xml的支持函数,主要为query()、nodes()、exist()、value()、modify() ,详见http://msdn.microsoft.com/zh-cn/library/ms190798.aspx使用xml方式实现wherein时有两种实现方式,使用value和exist,在这里推荐使用exist方法,msdn是这样描述的:D.使用exist()方法而...
数据库操作教程 2022-09-23 17:13:30 -
Sql学习第一天——SQL将变量定义为Table类型(虚拟表)
SQL将变量定义为Table类型在平时定义sql语句中的变量时通常我们定义的都是像char,varchar,nvarchar,int........,那如何让变量作为一个像虚拟表一样呢,其实很简单。基本语法:复制代码代码如下: declare@ttable(列名1列的数据类型1,列名2列的数据类型2,...............) insertinto@t(列名1,列名2,...............)values(...............)[code]或者[code] insertinto@t(列名1,列名2,...............)(select....from....)实验用表一(PeopleInfo): id name phone XC1 李某 123333333 XC2 小小 785555555例如: 复制代码代码如下: declare@ttable(idnvarchar(3),[name]nvarchar(10))insertinto@t(id,[name])(selectid,[name]fromPeopleInfowher...
数据库操作教程 2022-09-23 17:10:36 -
将Reportingservices的RDL文件拷贝到另外一台机器时报Dataattherootlevelisinvalid的解决方法
如下图所示:单击EditCode打开Code信息如下:经查Dataattherootlevelisinvalid是XML文件的错误信息。从上图可以看出在</Report>的根元素结束符后又多了许多脚本...
数据库操作教程 2022-09-23 17:10:04 -
自动清理MSSQLServerTableCollation问题的解决方法
在一个团队项目中,没有约定好Collation,在MSSQLServer中编程就会遇到这样的问题:Cannotresolvethecollationconflictbetween"Latin1_General_CI_AS"and"SQL_Latin1_General_CP1_CI_AS"intheequaltooperation.因为编码问题,不同编码的字符串并不能直接进行比较,这种有两个解决方法,1是在query中指定用某一个collation进行比较,另外一个就是修改column的collationtype来避免这种错误。第二种方法,一个一个column改起来很累,写了个script,除了被当作constraints比如primarykey,foreignkey之外的varchar,char,nvarchar都可以统一修改成一个collation…完整sql代码:复制代码代码如下:declare@CollationNamevarchar(500);set@CollationName='SQL_Latin1_General_CP1_CI_AS'createtable#tmp(sqlS...
数据库操作教程 2022-09-23 17:07:58 -
sqlserver中delete、update中使用表别名和oracle的区别
昨天发现程序中数据分析的结果不对,重新进行分析后,原数据仍在,有值的字段被累计。心说,不对啊,是重新生成记录后才分析的啊...
数据库操作教程 2022-09-23 17:07:06