-
sqlserver字符串非空判断实现方法
复制代码代码如下:CREATEfunctiongetcolor(@井号varchar(50),@层位varchar(50))returnsvarchar(200)asbegindeclare@sqlvarchar(2000);set@sql=''--distinctselect@sql=@sql+颜色+','from(selectdistinct颜色fromyourtablenamewhere井号=@井号and层位=@层位and颜色isnotnull)aaset@sql=substring(@sql,1,len(@sql)-1)return@sqlend我发现set@sql=substring(@sql,1,len(@sql)-1)这句有的时候会报错,原因是@sql在用substring的时候,有时候会为空字符串请问在函数中,如何在substring之前判断下@sql是否为空?if@sqlisnotnullandlen(@sql)>=1set@sql=substring(@sql,1,len(@sql)-1)else....
数据库操作教程 2022-09-23 16:51:26 -
SQLServer数据库实用SQL语句
--查看指定表的外键约束select*fromsysobjectswhereparent_objin(selectidfromsysobjectswherename='表名')andxtype='PK'--查看所有表select*fromsysobjectswherextype='PK'--删除列中含数字的deletenewswherepatindex('%[0-9]%',title)>0--删除删去字段title值重复的行,且只保留id较小的这个deletenewswhereexists(select1fromnewstwheret.title=news.titleandt.id<news.id)--查看数据库信息select*fromsys.databaseswherename='master'1.按姓氏笔画排序:Select*FromTableNameOrderByCustomerNameCollateChinese_PRC_Stroke_ci_as2.分页SQL语句select*from(select(row_number()OVER(ORDERBYtab.IDDe...
数据库操作教程 2022-09-23 16:51:16 -
SQLServer自动更新统计信息的基本算法
自动更新统计信息的基本算法是:·如果表格是在tempdb数据库表的基数是小于6,自动更新到表的每个六个修改。·如果表的基数是大于6,但小于或等于500,更新状态每500的修改...
数据库操作教程 2022-09-23 16:50:50 -
jdbc连接sqlserver数据库问题分析
SQLServer连接中问题还真多。不进行设置还真连接不上,这里小记一下!(部分资料来源于互联网)JDBC连接MySQL出现的问题(例子里面自带JDBC2005的驱动,在lib文件夹下,右键点击BuildPath--->addtobuildbuildpath即可)运行connectionSqlServer2005包下的JavaConnectionSQL类即可!1.驱动问题:JDBC2005与JDBC2008一定要对号入座,否则会报错!(本人用的是2008)2.服务启动问题:其实很多情况下连接不上,是因为你的服务没有启动!运行----->输入services.msc-----找到SQLServer的服务,启动就行...
数据库操作教程 2022-09-23 16:50:43 -
sqlserver获取系统时间的方法
SqlServer中一个非常强大的日期格式化函数:获得当前系统时间,GETDATE():2008年01月08日星期二14:59SelectCONVERT(varchar(100),GETDATE(),0):0516200810:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/08SelectCONVERT(varchar(100),GETDATE(),2):08.05...
数据库操作教程 2022-09-23 16:50:30 -
sqlserverCONVERT()函数用法小结
CONVERT的使用方法:格式:CONVERT(data_type,expression[,style])说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.例子:SELECTCONVERT(varchar(30),getdate(),101)now结果为now---------------------------------------09/15/2001style数字在转换时间时的含义如下-------------------------------------------------------------------------------------------------Style(2位表示年份)|Style(4位表示年份)|输入输出格式--------------------------------------------------------------------------------------------------|0or100|monddyyy...
数据库操作教程 2022-09-23 16:50:30 -
sqlserver中触发器+游标操作实现
复制代码代码如下:Createtriggertri_wk_CSVHead_Historyonwk_CSVHead_History--声明一个tri_wk_CSVHead_History触发器,insteadofinsert---插入操作被代替执行下面的操作asbegindeclareYBcursor--声明一个游标for selectNoteNOfrominserted--这里的NoteNO要和下面的匹配 openYB declare@NoteNOvarchar(50)--这里的NoteNO要和上面的匹配,定义一个游标变量@NoteNO,用来操作insered表中的NoteNo. fetchnextfromYBinto@NoteNO--这里的NoteNO要是上面的匹配,移动游标 while(@@fetch_status=0)--0操作成功,-1FETCH语句失败或此行不在结果集中,-2被提取的行不存在 begin deletefromwk_CSVDetail_HistorywhereNoteNO=@NoteNO deletefromwk_CSVHead_Historywhe...
数据库操作教程 2022-09-23 16:50:27 -
SqlServer数据库全角转换成半角
复制代码代码如下:CREATE FUNCTION f_Convert(@str NVARCHAR(4000), --要转换的字符串@flag bit --转换标志,0转换成半角,1转换成全角)RETURNS nvarchar(4000)ASBEGINDECLARE @pat nvarchar(8),@step int,@i int,@spc intIF @flag=0SELECT &nbs...
数据库操作教程 2022-09-23 16:50:27 -
SQLServer正则表达式替换函数应用详解
--SQL正则替换函数复制代码代码如下:CREATEfunctiondbo.regexReplace(@sourcentext,--原字符串@regexpvarchar(1000),--正则表达式@replacevarchar(1000),--替换值@globalReplacebit=1,--是否是全局替换@ignoreCasebit=0--是否忽略大小写)returnSvarchar(1000)ASbegindeclare@hrintegerdeclare@objRegExpintegerdeclare@resultvarchar(5000)exec@hr=sp_OACreate'VBScript...
数据库操作教程 2022-09-23 16:50:27 -
SqlServer索引自动优化工具
鉴于人手严重不足(当时算两个半人的资源),打消了逐个库手动去改的念头。当前的程序结构不允许搞革命的做法,只能搞搞改良,所以准备搞个自动化工具去处理...
数据库操作教程 2022-09-23 16:50:25 -
MSSQL2005数据附加失败报错3456解决办法
解决办法:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sqlserver(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sqlserver5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。复制代码代码如下:USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOUPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的数据库名'Gosp_dboption'置疑的数据库名','singleuser','true'GoDBCCCHECKDB('置疑的数据库名')Goupdatesysdatabasessetstatus=28wherename='置疑的数据库名'Gosp_configure'allowupdates',0reconfigurewithoverride...
数据库操作教程 2022-09-23 16:50:23 -
sqlserver中遍历字符串的sql语句
复制代码代码如下:declare@dddvarchar(50),@splitvarchar(1)set@ddd='12345678...
数据库操作教程 2022-09-23 16:50:16