-
自动清理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 -
Sql学习第一天——SQLUNION和UNIONALL操作符认识
关于SQLUNION操作符UNION操作符用于合并两个或多个SELECT语句的结果集。注意:1.UNION内部的SELECT语句必须拥有相同数量的列...
数据库操作教程 2022-09-23 17:06:38 -
一条select语句引起的瓶颈问题思考
情境还原:公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时...
数据库操作教程 2022-09-23 17:06:35 -
SQL里面用自定义Split()完成个性化需求
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEfunction[dbo].[SplitString](@Inputnvarchar(max),@Separatornvarchar(max)=',',@RemoveEmptyEntriesbit=1)returns@TABLEtable([Id]intidentity(1,1),[Value]nvarchar(max))asbegindeclare@Indexint,@Entrynvarchar(max)set@Index=charindex(@Separator,@Input)while(@Index>0)beginset@Entry=ltrim(rtrim(substring(@Input,1,@Index-1)))if(@RemoveEmptyEntries=0)or(@RemoveEmptyEntries=1and@Entry<>'')begininsertinto@TABLE([Value])Values(@Entry)endset@Input=...
数据库操作教程 2022-09-23 17:06:07 -
SqlServer分组统计并合计总数及WITHROLLUP应用
WITHROLLUP在生成包含小计和合计的报表时,ROLLUP运算符很有用。ROLLUP运算符生成的结果集类似于CUBE运算符所生成的结果集...
数据库操作教程 2022-09-23 17:05:04 -
SQLServer误区30日谈第6天有关NULL位图的三个误区
这样还能减少CPU缓存命中失效的问题(点击这个链接来查看CPU的缓存是如何工作的以及MESI协议)。下面让我们来揭穿三个有关NULL位图的普遍误区...
数据库操作教程 2022-09-23 17:02:22 -
AspNetPager分页控件存储过程
复制代码代码如下:SETQUOTED_IDENTIFIERONGOSETANSI_NULLSONGOALTERPROCEDUREusp_PagingLarge@TableNamesVARCHAR(200),--表名,可以是多个表,但不能用别名@PrimaryKeyVARCHAR(100),--主键,可以为空,但@Order为空时该值不能为空@FieldsVARCHAR(200),--要取出的字段,可以是多个表的字段,可以为空,为空表示select*@PageSizeINT,--每页记录数@CurrentPageINT,--当前页,0表示第1页@FilterVARCHAR(200)='',--条件,可以为空,不用填where@GroupVARCHAR(200)='',--分组依据,可以为空,不用填groupby@OrderVARCHAR(200)=''--排序,可以为空,为空默认按主键升序排列,不用填orderbyASBEGINDECLARE@SortColumnVARCHAR(200)DECLARE@OperatorCHAR(2)DECLARE@SortTableVARCHAR(200...
数据库操作教程 2022-09-23 17:00:37 -
SQL语句检测sp4补丁是否安装
selectserverproperty('productlevel')如果没有打过SP,则为RTM,否则显示的是SP版本。查看你当前版本号:SELECT@@VERSION结果是:MicrosoftSQLServer2000-8.00.194(IntelX86)Aug6200000:57:48Copyright(c)1988-2000MicrosoftCorporationPersonalEditiononWindowsNT5.1(Build2600:ServicePack3)...
数据库操作教程 2022-09-23 16:57:02 -
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
/*--1UNION运算符是将两个或更多查询的结果组合为单个结果集使用UNION组合查询的结果集有两个最基本的规则:1。所有查询中的列数和列的顺序必须相同...
数据库操作教程 2022-09-23 16:56:38