-
sqlserver2005行列转换实现方法
复制代码代码如下:--CreateCompanyTableCreateTableCompany(ComIDvarchar(50)primarykey,ComNamenvarchar(50)notnull,ComNumbervarchar(50)notnull,ComAddressnvarchar(200),ComTelevarchar(50))--CreateProductTableCreateTableProduct(ProductIDvarchar(50)primarykey,ComIDvarchar(50)notnull,ProNamenvarchar(200)notnull,ProNumberintnotnull)select*fromproduct--insertintotablevalueinsertCompanyselect('58C0F3FD-7B98-4E74-A1A8-7B144FCB8707','CompanyOne','SH19991028','ShangHai','98765432112')unionallselect('768B2E84-0AAB-4653-...
数据库操作教程 2022-09-23 16:55:39 -
实现按关健字模糊查询,并按匹配度排序的SQL语句
复制代码代码如下:IFOBJECT_ID('TB')ISNOTNULLDROPTABLETBGOCREATETABLEtb(IDINTIDENTITY(1,1),VALUENVARCHAR(100))INSERTtbSELECTN'中国'UNIONALLSELECTN'中国人'UNIONALLSELECTN'中国人民'UNIONALLSELECTN'日本'UNIONALLSELECTN'日本人'UNIONALLSELECTN'我的心中有人姑娘'UNIONALLSELECTN'人民网'UNIONALLSELECTN'中国是个伟大的国家'UNIONALLSELECTN'我们都是中国人,都是炎黄子孙,都是龙人传人'IFOBJECT_ID('fn_SplitStringToROWS')ISNOTNULLDROPFUNCTIONfn_SplitStringToROWSGOCREATEFUNCTIONfn_SplitStringToROWS(@strNVARCHAR(100))RETURNS@tTABLE(vNVARCHAR(2))ASBEGINDECLARE@iINTSET@i=1WHILE@i...
数据库操作教程 2022-09-23 16:55:35 -
SQL多表连接查询实现语句
1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个人理解:以一个共同的字段求两个表中符合要求的交集,并将每个表符合要求的记录以共同的字段为牵引合并起来...
数据库操作教程 2022-09-23 16:55:30 -
Godaddy导入导出MSSQL数据库的实现步骤
如何导入数据库可以从限制文件中导入SQL共享服务器数据库。如果想把存放在其他地方的数据导入,需要先把其内容拷到限制文件中...
数据库操作教程 2022-09-23 16:53:22 -
用sql语句实现分离和附加数据库的方法
对于用ManageStudio自己看着界面操作就可以应付了。分离数据库:对于用存储过程来分离数据库,如果发现无法终止用户链接,可以使用ALTERDATABASE命令,并利用一个能够中断已存在链接的终止选项来把数据库设置为SINGLE_USER模式,设置为SIGLE_USER代码如下:ALTERDATABASE[DatabaseName]SETSINGLE_USERWITHROLLBACKIMMEDIATE下面是分离数据库的CMD命令EXECsp_detach_dbDatabaseName一旦一个数据库分离成功,从SQLServer角度来看和删除这个数据库没有什么区别...
数据库操作教程 2022-09-23 16:51:50 -
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 -
sqlldr装载数据实现代码
这里用excel数据做个最简单的测试。1)把excel数据存为t.txt文件,注意文件后缀名为.txt1jhchen11/07/200520:04:002005-11-720:042jhchen11/07/200520:04:002005-11-720:043jhchen11/07/200520:04:002005-11-720:042)SQL>createtablet_load( idnumber,namevarchar2(10),dat1date,dat2date,dat3date);Tablecreated.3)控制文件t.ctl如下loaddatainfile't.txt'badfile't.bad'appendintotablet_loadfieldsterminatedbyX'09' trailingnullcols(id,name,dat1date"mm/dd/yyyyhh24:mi:ss",dat2date"yyyy-mm-ddhh24:mi:ss")其中,X'09'是制表符,TAB键,trailingnullcols表示如表的字段没有对应的值时允许为...
数据库操作教程 2022-09-23 16:50:31 -
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中实现二进制与字符类型之间的数据转换
在工控应用上,返回的数据经常会以二进制的形成存储,而这些二进制数据又是以每4个bit表示一个十六进制的数据内容。解析的时候,往往是一个字节(Byte)占用8个位(bit),高位4bit表示一个十六进制数据,低位4bit表示一个十六进制数据...
数据库操作教程 2022-09-23 16:50:09 -
sqlserver触发器学习(实现自动编号)
总结常用基本点如下:1、触发器有两种类型:数据定义语言触发器(DDL触发器)和数据操纵语言触发器(DML触发器)。 DDL触发器:在用户对数据库执行数据定义(CREATE、ALTER、DROP或相似的语句)对数据库结构进行修改时激活而做出响应...
数据库操作教程 2022-09-23 16:48:35 -
SQL根据指定分隔符分解字符串实现步骤
如果有一个字符串eg:"sun,star,moon,clouds",想要在MSSQL中根据给定的分隔符','把这个字符串分解成各个元素[sun][star][moon][clouds],如何实现呢?为此,创建一个Function,代码如下:复制代码代码如下:CREATEFUNCTION[dbo].[Split_StrByDelimiter](@StringVARCHAR(8000),@DelimiterCHAR(1))RETURNS@temptableTABLE(itemsVARCHAR(8000))ASBEGINDECLARE@idxINTDECLARE@sliceVARCHAR(8000)SELECT@idx=1IFlen(@String)<1OR@StringISNULLRETURNwhile@idx!=0BEGINSET@idx=charindex(@Delimiter,@String)IF@idx!=0SET@slice=LEFT(@String,@idx-1)ELSESET@slice=@StringIF(len(@slice)>0)INSERTINTO@tem...
数据库操作教程 2022-09-23 16:48:16