-
sqlserver自定义分割月功能详解及实现代码
在最近的项目开发过程中,遇到了Sqlserver自动分割月的功能需求,这里在网上整理下资料. 1、为何出现自定义分割月的需求今天梳理一个平台的所有函数时,发现了一个自定义分割月函数,也就是指定分割月的开始日索引值(可以从1-31闭区间内的任何一个值)来获取指定日期所对应的分割月数值。这个函数当时是为了解决业务部门获取非标准月(标准月就是从每个月的第一天到最后一天组成一个完成的标准月份)的统计汇总数据的...
数据库操作教程 2022-09-23 18:10:47 -
SQL提取数据库表名及字段名等信息代码示例
本文向大家介绍了使用SQL语句提取数据库所有表的表名、字段名的实例代码,在SQLserver中进行了测试,具体内容如下:--查询所有用户表所有字段的特征SELECTD.NameasTableName,A.colorderASColOrder,A.nameASName,COLUMNPROPERTY(A.ID,A.Name,'IsIdentity')ASIsIdentity,CASEWHENEXISTS(SELECT1FROMdbo.sysobjectsWHEREXtype='PK'ANDNameIN(SELECTNameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHEREID=A.IDANDcolid=A.colid)))THEN1ELSE0ENDAS主键,B.nameAS类型,A.lengthAS[长度],A.xprecAS[精度],A.xscaleAS[小数],CASEWHENA.isnullable=1THEN1ELSE0ENDAS[可为空],ISNULL(E.text,'')AS[默认值],ISNULL(G.[va...
数据库操作教程 2022-09-23 18:05:58 -
sql判断函数、存储过程是否存在的代码整理
下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助。--库是否存在ifexists(select*frommaster..sysdatabaseswherename=N'库名')print'exists'elseprint'notexists'--判断要创建的表名是否存在ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[表名]')andOBJECTPROPERTY(id,N'IsUserTable')=1)--删除表droptable[dbo].[表名]GO--判断要创建临时表是否存在IfObject_Id('Tempdb.dbo.#Test')IsNotNullBeginprint'存在'EndElseBeginprint'不存在'End--判断要创建的存储过程名是否存在ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[存储过程名]')andOBJECTPROPERTY(id...
数据库操作教程 2022-09-23 18:00:00 -
使用sql语句创建和删除约束示例代码
使用sql语句创建和删除约束约束类型主键约束(PrimaryKeyconstraint)--:要求主键列数据唯一,并且不允许为空。唯一约束(Uniqueconstraint)--:要求该列唯一,允许为空,但只能出现一个空值...
数据库操作教程 2022-09-23 17:57:54 -
编写高质量代码改善C#程序——使用泛型集合代替非泛型集合(建议20)
软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点...
数据库操作教程 2022-09-23 17:54:32 -
实现SQL分页的存储过程代码
SQL分页的存储过程代码,需要的朋友们直接拿去用,使用非常简单。分享代码如下USE[SendMessage]GO/******Object:StoredProcedure[dbo].[pages]ScriptDate:07/09/201513:46:50******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROC[dbo].[pages](@tbnamenvarchar(100),--要分页显示的表名@FieldKeynvarchar(1000),--用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段@PageCurrentint=1,--要显示的页码@PageSizeint=10,--每页的大小(记录数)@FieldShownvarchar(1000)='',--以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段@FieldOrdernvarchar(1000)='',--以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC@WhereStringnvarchar(1000)=N''--查询条件)ASbe...
数据库操作教程 2022-09-23 17:40:24 -
sql多表行转列、级联行转列示例代码
现有两表A,BA表存储商品点击日志,B表存储商品要求显示当天所有商品点击量列表并附带总数并按天排序复制代码代码如下:declare@sqlvarchar(2000)set@sql='selectCONVERT(varchar(100),a.[Time],23)as时间,count(b...
数据库操作教程 2022-09-23 17:38:15 -
ASP.NET和MSSQL高性能分页实例代码
首先是存储过程,只取出我需要的那段数据,如果页数超过数据总数,自动返回最后一页的纪录:setANSI_NULLSONsetQUOTED_IDENTIFIERONGO--=============================================--Author:Clear--Description:高性能分页--http://www.cnblogs...
数据库操作教程 2022-09-23 17:34:41 -
三种SQL分页查询的存储过程代码
复制代码代码如下:--根据MAX(MIN)IDCREATEPROC[dbo].[proc_select_id]@pageindexint=1,--当前页数@pagesizeint=10,--每页大小@tablenameVARCHAR(50)='',--表名@fieldsVARCHAR(1000)='',--查询的字段集合@keyidVARCHAR(50)='',--主键@conditionNVARCHAR(1000)='',--查询条件@orderstrVARCHAR(500),--排序条件@totalRecordBIGINTOUTPUT--总记录数ASIFISNULL(@orderstr,N'')=N''SET@orderstr=N'ORDERBY'+@keyid+N'DESC'IFISNULL(@fields,N'')=N''SET@fields=N'*'IFISNULL(@condition,N'')=N''SET@condition=N'1=1'DECLARE@sqlNVARCHAR(4000)--IF(@totalRecordISNULL)--BEGINSET@sql=N'S...
数据库操作教程 2022-09-23 17:29:47 -
动态SQL中返回数值的实现代码
复制代码代码如下:ALTERproc[dbo].[sp_common_paypal_AddInfo](@paypalsqlvarchar(max),--不包含用户表的paypalsql语句@paypalusersqlvarchar(max),--paypal用户表的sql语句@ebaysqlvarchar(max),--不包含用户表的ebaysql语句@ebayusersqlvarchar(max),--ebay的用户表sql语句@paypaluserwherevarchar(max),--paypal用户表查询ID语句@ebayuserwherevarchar(max),--ebay用户表查询ID语句@websqlvarchar(max),--web除去用户表的sql语句@webusersqlvarchar(max),--web用户表的sql语句@webwherevarchar(max),--web用户表where之后的sql语句@ebaystockflagvarchar(10),--ebay订单号生成规则@webstockflagvarchar(10)--web订单号生成规则)as...
数据库操作教程 2022-09-23 17:26:50 -
利用sql函数生成不重复的订单号的代码
复制代码代码如下:ALTERfunction[dbo].[GetOrderNum](@ebaystockflagvarchar(20)//规则字母)returnsvarchar(100)ASBEGINdeclare@dtCHAR(8)declare@flagvarchar(20)set@flag='B'+@ebaystockflagset@dt=CONVERT(CHAR(8),GETDATE(),112)declare@maxvarchar(100)SELECT@max=MAX(OrderNumber)FROMtb_EbayOrderWITH(XLOCK,PAGLOCK)WHEREOrderNumberlike@flag+'%'set@max=isnull(@max,@flag+@dt+'000')--查不到结果给个默认值declare@avarchar(100)declare@numvarchar(10)declare@ordernumvarchar(20)set@a=Convert(varchar,right(@max,len(@max)-10))--截取数字部分if(LEFT(@...
数据库操作教程 2022-09-23 17:24:55