-
将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
复制代码代码如下:createtabletb(idint,valuevarchar(10))insertintotbvalues(1,'aa')insertintotbvalues(1,'bb')insertintotbvalues(2,'aaa')insertintotbvalues(2,'bbb')insertintotbvalues(2,'ccc')gocreatefunction[dbo].[f_str](@idint)returnsnvarchar(1000)asbegindeclare@strnvarchar(1000)set@str=''select@str=@str+','+cast(valueasnvarchar(900))fromtbwhereid=@idset@str=right(@str,len(@str)-1)return@strendgo--调用函数selectid,value=dbo.f_str(id)fromtbgroupbyid运行结果:本来在上面的函数中所有的nvarchar都是varchar类型的,并且上面函数的红色处在调用cast方法时,并未指定...
数据库操作教程 2022-09-23 20:21:15 -
清空所有表中的数据的存储过程
复制代码代码如下:--*******************************************************--*清空所有表中的数据*--*撒哈拉大森林*--*2010-6-28*--*******************************************************ifexists(select*fromsysobjectswheretype='P'andname=N'P_DeleteAllData')dropprocedureP_DeleteAllDatagoCREATEPROCEDUREP_DeleteAllDataasEXECsp_MSForEachTable'ALTERTABLE?NOCHECKCONSTRAINTALL'--禁用约束EXECsp_MSForEachTable'ALTERTABLE?DISABLETRIGGERALL'--禁用触发器EXECsp_MSForEachTable'DELETEFROM?'--删除所有表中的数据EXECsp_MSForEachTable'ALTERTABLE?CHECKCONSTRAI...
数据库操作教程 2022-09-23 20:21:11 -
Sqlserver常用日期时间函数
MSSQLServer中文版的预设日期datetime格式是yyyy-mm-ddhh:mm:ss.mmm长短日期格式复制代码代码如下:--短日期格式:yyyy-m-dSELECTREPLACE(CONVERT(varchar(10),getdate(),120),N'-0','-')--长日期格式:yyyy年mm月dd日SELECTSTUFF(STUFF(CONVERT(char(8),getdate(),112),5,0,N'年'),8,0,N'月')+N'日'--短日期格式:yyyy年m月d日SELECTDATENAME(Year,getdate())+N'年'+CAST(DATEPART(Month,getdate())ASvarchar)+N'月'+DATENAME(Day,getdate())+N'日'--完整日期+时间格式:yyyy-mm-ddhh:mi:ss:mmmSELECTCONVERT(char(11),getdate(),120)+CONVERT(char(12),getdate(),114)CONVERT复制代码代码如下:SelectCONVERT(varcha...
数据库操作教程 2022-09-23 20:18:04 -
在SQLServer上查看SQL语句的执行时间的方法
1:下面这种是比较简单的查询方法,通过查询前的时间和查询后的时间差来计算的复制代码代码如下:declare@begin_datedatetimedeclare@end_datedatetimeselect@begin_date=getdate()<这里写上你的语句...>select@end_date=getdate()selectdatediff(ms,@begin_date,@end_date)as'用时/毫秒'2:下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来复制代码代码如下:setstatisticsprofileonsetstatisticsioonsetstatisticstimeongo<这里写上你的语句...>gosetstatisticsprofileoffsetstatisticsiooffsetstatisticstimeoff有时候我们需要知道一段SQL语句执行的时间有多长。下面是其中一种办法...
数据库操作教程 2022-09-23 20:16:20 -
sql修改表的所有者
复制代码代码如下:use数据库goEXECsp_changeobjectowner‘原表的所有者.表名',现在的所有者例如:复制代码代码如下:execsp_changeobjectowner'ahuinan...
数据库操作教程 2022-09-23 20:15:28 -
sqlserver中查找所有包含了某个文本的存储过程
上图说明吧。上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了)上图通过sqlserver图形管理器自带的功能查看依赖于mup_GetA的对象...
数据库操作教程 2022-09-23 20:15:19 -
sqlserver中datetime字段去除时间的语句
select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 select CONVERT(varchar(12) , getdate(), 112 ) 20040912 select CONVERT(varchar(12) , getdate(), 102 ) 2004.09...
数据库操作教程 2022-09-23 20:15:14 -
TRUNCATE快速删除表中的所有数据
备注与DELETE语句相比,TRUNCATETABLE具有以下优点:所用的事务日志空间较少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一个条目...
数据库操作教程 2022-09-23 20:14:43 -
SQL时间格式化函数
1取值后格式化{0:d}小型:如2005-5-6{0:D}大型:如2005年5月6日{0:f}完整型2当前时间获取DateTime.Now...
数据库操作教程 2022-09-23 20:14:34 -
显示SqlServer中所有表中的信息
显示某个SqlServer某个数据库中所有表或视图的信息sqlserver2000与2005不同差别在于红色字部分以下语句为获取所有表信息,替换绿色黑体字"U"为"V"为获取所有视图信息。SqlServer2000版本SELECTSysobjects.nameASTABLE_NAME,syscolumns.Id,syscolumns.nameASCOLUMN_NAME,systypes.nameASDATA_TYPE,syscolumns.lengthasCHARACTER_MAXIMUM_LENGTH,sysproperties.[value]ASCOLUMN_DESCRIPTION, syscomments.textasCOLUMN_DEFAULT,syscolumns.isnullableasIS_NULLABLEFROMsyscolumnsINNERJOINsystypes ONsyscolumns.xtype=systypes.xtype LEFTJOINsysobjectsONsyscolumns...
数据库操作教程 2022-09-23 20:13:07 -
列出SQLServer中具有默认值的所有字段的语句
专家解答 通过查询任何数据库中的三个系统表,你可以获得每个表的每一个字段的默认值。下面是这个核心查询...
数据库操作教程 2022-09-23 20:12:48