-
SQLServer中的切割字符串SplitString函数
复制代码代码如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO/*bykudychen2011-9-28*/CREATEfunction[dbo].[SplitString](@Inputnvarchar(max),--inputstringtobeseparated@Separatornvarchar(max)=',',--astringthatdelimitthesubstringsintheinputstring@RemoveEmptyEntriesbit=1--thereturnvaluedoesnotincludearrayelementsthatcontainanemptystring)returns@TABLEtable([Id]intidentity(1,1),[Value]nvarchar(max))asbegindeclare@Indexint,@Entrynvarchar(max)set@Index=charindex(@Separator,@Input)while(@Index>0)beginset@Entry=ltr...
数据库操作教程 2022-09-23 20:40:07 -
sqlserverreplace函数批量替换数据库中指定字段内指定字符串参考方法
语法REPLACE('string_expression1','string_expression2','string_expression3')参数说明'string_expression1'待搜索的字符串表达式。string_expression1可以是字符数据或二进制数据...
数据库操作教程 2022-09-23 20:33:52 -
关于SQLServerErrorLog错误日志说明
默认情况下,SQLServer保存7个ErrorLog文件,名为:ErrorLogErrorLog.1ErrorLog.2ErrorLog.3ErrorLog.4ErrorLog.5ErrorLog.6在APACSOS版本6.1中,ErrorLog文件保存在c:ProgramFilesMicrosoftSQLServerMSSQL$WINCCLOG文件夹中。在APACSOS版本7.0中,ErrorLog文件保存在c:ProgramFilesMicrosoftSQLServerMSSQL.1MSSQLLOG文件夹中...
数据库操作教程 2022-09-23 20:24:38 -
SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符:ROLLUPSELECT CASE GROUPING(o.customerid) WHEN 0 THEN o.customerid ELSE '(Total)' END AS AllCustomersSummary, CASE GROUPING(od.orderid) WHEN 0 THEN od.orderid ELSE -1 END AS IndividualCustomerSummary, SUM(od.quantity*od.unitprice) AS price FROM Orders o, [Order Details] od WHERE&...
数据库操作教程 2022-09-23 20:21:35 -
mssql@@ERROR使用
mssql错误日志文件存放位置:C:ProgramFilesMicrosoftSQLServerMSSQLLOG用记事本查看@@ERROR返回一个整数0为正常sysmessages存放的错误信息系统表(master)USEmasterselect*fromsysmessageswhereerror=错误编号可查询错误的原因触发器中可用RAISERROR(50009,16,10)抛出错误,其中50009就是错误编号,也可以是错误信息说明1610具体的行和列可自已定也可定义自定义的消息将自定义的消息添加到sysmessages。USEmasterEXECsp_addmessage50001,16,N'Percentageexpectsavaluebetween20and100.Pleasereexecutewithamoreappropriatevalue.','us_english',false,replaceEXECsp_addmessage50001,16,'员工代码没有找到','简体中文',false,replace5000116必须一致先添加us_english版的,再添加'简体...
数据库操作教程 2022-09-23 20:16:10 -
sql中的where、groupby和having用法解析
废话不多说了,直接给大家贴代码了,具体代码如下所示:--sql中的where、groupby和having用法解析--如果要用到groupby一般用到的就是“每这个字”例如说明现在有一个这样的表:每个部门有多少人就要用到分组的技术selectDepartmentIDas'部门名称',COUNT(*)as'个数'fromBasicDepartmentgroupbyDepartmentID--这个就是使用了groupby+字段进行了分组,其中我们就可以理解为我们按照了部门的名称ID--DepartmentID将数据集进行了分组;然后再进行各个组的统计数据分别有多少;--如果不用count(*)而用类似下面的语法selectDepartmentID,DepartmentNamefromBasicDepartmentgroupbyDepartmentID--将会出现错误--选择列表中的列'BasicDepartment.DepartmentName'无效,因为该列没有包含在聚合函数或GROUPBY子句中。这就是我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在GroupBy语句的后...
数据库操作教程 2022-09-23 18:21:59 -
SQLServerParameterSniffing及其改进方法
SQLServer在处理存储过程的时候,为了节省编译时间,是一次编译,多次重用。当第一次运行时代入值产生的执行计划,不适用后续代入的参数时,就产生了parametersniffing问题...
数据库操作教程 2022-09-23 18:20:15 -
深入浅析SQL中的groupby和having用法
一、sql中的groupby用法解析: GroupBy语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。 作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理...
数据库操作教程 2022-09-23 18:19:03 -
SqlServer中Substring函数的用法实例解析
SQL中的substring函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:MySQL:SUBSTR(),SUBSTRING()Oracle:SUBSTR()SQLServer:SUBSTRING()SQL中的substring函数是用来截取一个栏位资料中的其中一部分...
数据库操作教程 2022-09-23 18:15:39 -
sqlserver数据库中raiserror函数用法的详细介绍
sqlserver数据库中raiserror函数的用法server数据库中raiserror的作用就和asp.NET中的thrownewException一样,用于抛出一个异常或错误。这个错误可以被程序捕捉到...
数据库操作教程 2022-09-23 18:14:51 -
SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
分享由字符“”转义引起的SQL数据库实例名称找不到或远程连接失败并显示错误error40的解决办法:一、问题介绍很久没有用c#去连数据库程序了,不过在网上找了一些资料,基本上还是写出来了,但是调试初步完成的程序时候,却发现在con.open()这个方法总是出错,说找不到数据库实例名称,或者远程连接失败,显示的错误是error40。错误如下: 二、环境介绍1、我的数据库是sqlserver2008,使用的开发环境是vs2013,.net4.02、我的数据库安装采用的命名实例,所以在编写数据库连接字符串的时候的服务器名称应为【计算机名数据实例名】数据库连接字符为: 当发现连接错误之后,我以为是我的sql2008和vs2013环境不对而导致的错误,之后把以前的项目打开,把数据库附加上,更改一下数据连接字符串,发现错误是一样的...
数据库操作教程 2022-09-23 17:49:56 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(下)
sys.dm_os_waiting_tasks引发的疑问(下)前面写了两篇了,其实不光是说sys.dm_os_waiting_tasks的应用,研究了挺长时间的并行,自己有了一些理解,所以分享出来希望有什么理解错误的地方大神们及时纠正!! 给出前两篇的连接:SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)前面两篇的编写有一个疑惑...最初认为的并行比如这个语句: select*fromt1innerjoint2ont1.a=t2.aOPTION(querytraceon8649) 在我的理解并行是开几个线程去获取T1数据,另外几个线程获取T2数据,然后关联结果形成最后结果集。可是试验了才发现自己原来想的和看到的结果不太一样呀!!!! 下面我们用前两篇的例子继续做试验... 这次我们2张表同时给锁住,看看等待里是什么情况...
数据库操作教程 2022-09-23 17:49:13