-
用sql获取某字符串中的数字部分的语句
复制代码代码如下:createfunctiondbo.F_Get_No(@Novarchar(100))RETURNSbigintASBEGINWHILEPATINDEX('%[^0-9]%',@No)>0BEGINSET@No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'')--删掉一个非数字的字符,循环结束,剩余的为数字部分ENDRETURNCONVERT(bigint,@No)END此函数可以返回某字符串中的数字部分PATINDEX函数返回所查内容在字符串中第一次出现的索引STUFF函数删除指定长度的字符并在指定的起始点插入另一组字符。selectF_Get_No('sdsdf2334sfsd234')返回'2334234'注明:此方法可以解决查询某字段中数字部分为固定值的记录,字母部分为定值类似...
数据库操作教程 2022-09-23 16:56:07 -
按日期选择最晚日期与最早日期对应的数的差值
表结构如下numberdate82009/1/112:0072009/1/115:0062009/1/1112:0052009/1/1118:0042009/1/124:0032009/1/1210:0022009/1/1212:0012009/1/1117:00想得到当天的最早时间与最晚时间的number的差值,即如下的结果:差23复制代码代码如下:createtable#date(numberintidentity(1,1)primarykey,datedatetime)insertinto#dateselect'2009/1/1117:00'insertinto#dateselect'2009/1/1212:00'insertinto#dateselect'2009/1/1210:00'insertinto#dateselect'2009/1/124:00'insertinto#dateselect'2009/1/1118:00'insertinto#dateselect'2009/1/1112:00'insertinto#dateselect'2009/1/115:00'ins...
数据库操作教程 2022-09-23 16:55:19 -
SQL小技巧又快又简单的得到你的数据库每个表的记录数
但是如何得到某个数据库所有的表的记录数,你要是用上面的方法估计得累死了。呵呵下面提供如何借用sysindexes和sysobjects表来得到某个数据库每个表记录数的方法:先给出SQLServer2000版本的:复制代码代码如下:SELECTo.NAME,i.rowcntFROMsysindexesASiINNERJOINsysobjectsASoONi.id=o.idWHEREi.indid<2ANDOBJECTPROPERTY(o.id,'IsMSShipped')=0ORDERBYo.NAMESQLServer2005/8版本的SQL语句:复制代码代码如下:SELECTo.name,ddps.row_countFROMsys.indexesASiINNERJOINsys.objectsASoONi.OBJECT_ID=o.OBJECT_IDINNERJOINsys.dm_db_partition_statsASddpsONi.OBJECT_ID=ddps.OBJECT_IDANDi.index_id=ddps.index_idWHEREi.index_id<2ANDo...
数据库操作教程 2022-09-23 16:55:08 -
隐藏在SQLServer字段中的超诡异字符解决过程
文章作者:jhkdiy发表日期:2009-10-11程序架构:B/S开发环境:WindowsXP+IIS6+VS2003数据库:SQLServer2000部分功能:从SQLServer中导出数据到Access。这套系统做了大半年,这个导入导出还是问题不断,我负责的这块导入导出就是夹在网络版和单机版系统之间,只要任何一边对数据库做了改动这个导入导出就会失败...
数据库操作教程 2022-09-23 16:54:43 -
sql语句中的NULL值
今天写了这样的代码复制代码代码如下: DECLARE@atrNVARCHAR(20) SET@atr=NULL IF(@atr=NULL) BEGIN PRINT1 END 原本是想打印出1的。但是没有...
数据库操作教程 2022-09-23 16:54:23 -
sql函数实现去除字符串中的相同的字符串
复制代码代码如下:---去除字符串中重復的值函數createfunctionStringRemove(@strnvarchar(2000))returnsvarchar(2000)asbegindeclare@resultnvarchar(2000),@tempnvarchar(1000)set@result=''set@temp=''while(charindex(',',@str)<>0)beginset@temp=substring(@str,1,charindex(',',@str))if(charindex(@temp,@result)<=0)set@result=@result+@tempset@str=stuff(@str,1,charindex(',',@str),'')endreturn@resultendGO--('塗聚文','塗','塗聚文','1','23','1')--測試selectdbo.StringRemove('塗聚文,塗,塗聚文,1,23,1')...
数据库操作教程 2022-09-23 16:47:56 -
SQLServer2012在开发中的一些新特性
一、增加了Sequence对象。这个对于Oracle用户来说是最熟悉不过的数据库对象了,现在在SQLServer中终于也看到了类似的对象,只是在使用的语法上有一点点不一样...
数据库操作教程 2022-09-23 16:47:30 -
用SQL脚本读取Excel中的sheet数量及名称的方法代码
复制代码代码如下:--Gettable(worksheet)orcolumn(field)listingsfromanexcelspreadsheet --设置变量 declare@linkedServerNamesysname='TempExcelSpreadsheet' declare@excelFileUrlnvarchar(1000)='D:text.xlsx' --/SET --删除链接服务(如果它已经存在) ifexists(selectnullfromsys...
数据库操作教程 2022-09-23 16:46:48 -
SqlServer中的非聚集索引详细介
非聚集索引,这个是大家都非常熟悉的一个东西,有时候我们由于业务原因,sql写的非常复杂,需要join很多张表,然后就泪流满面了。...
数据库操作教程 2022-09-23 16:45:39 -
深入理解SqlServer中的表扫描
很久以前我们在写sql的时候,最怕的一件事情就是sql莫名奇妙的超级慢,慢的是撸一管子回来,那个小球还在一直转。...
数据库操作教程 2022-09-23 16:45:30 -
SqlServer中的系统视图详细介绍
本来想这个系列写点什么好呢,后来想想大家作为程序员,用的最多的莫过于数据库了,但是事实上很多像我这样工作在一线的码农,对sql都一知半解,别谈优化和对数据库底层的认识了,我也是这样。...
数据库操作教程 2022-09-23 16:45:11 -
SqlServer中的DBCC命令详细介绍
今天研发中心办年会,晚上就是各自部门聚餐了,我个人喜欢喝干红,在干红中你可以体味到那种酸甜苦辣。...
数据库操作教程 2022-09-23 16:45:05