-
获取SQLServer表字段的各种属性实例代码
复制代码代码如下:--SQLServer2000SELECTa.nameAS字段名,CASEWHENEXISTS(SELECT1FROMsysobjectsWHERExtype='PK'ANDparent_obj=a.idANDnameIN(SELECTnameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHEREid=a.idANDcolid=a.colid)))THEN'1'ELSE'0'ENDAS主键,CASEWHENCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1THEN'1'ELSE'0'ENDAS标识,b.nameAS类型,a.lengthAS占用字节数,COLUMNPROPERTY(a.id,a.name,'PRECISION')AS长度,a.xscaleAS小数,a.isnullableAS可空,ISNULL(e.text,'')AS默认值,ISNULL(g.[value],'')AS字段说明FROMsyscolumnsaLEFTOUTERJOINsystypesbONa...
数据库操作教程 2022-09-23 20:40:11 -
不同数据库之间导入导出功能介绍
1.在SQLServer数据库之间进行数据导入导出 (1).使用SELECTINTO导出数据 在SQLServer中使用最广泛的就是通过SELECTINTO语句导出数据,SELECTINTO语句同时具备两个功能:根据SELECT后跟的字段以及INTO后面跟的表名建立空表(如果SELECT后是*,空表的结构和FROM所指的表的结构相同);将SELECT查出的数据插入到这个空表中。在使用SELECTINTO语句时,INTO后跟的表必须在数据库不存在,否则出错,下面是一个使用SELECTINTO的例子...
数据库操作教程 2022-09-23 20:39:47 -
mssql存储过程表名和字段名为变量的实现方法
没有使用动态语句直接报错错误的复制代码代码如下:alterproctestpapersasbegindeclare@temsnvarchar(max),@zidaunnvarchar(max)set@tems=select*from@temsorderby@zidaunexec(@tems)endexectestpapers消息156,级别15,状态1,过程testpapers,第1行关键字'select'附近有语法错误。消息1087,级别15,状态2,过程testpapers,第1行必须声明表变量"@tems"...
数据库操作教程 2022-09-23 20:33:48 -
根据表名和索引获取需要的列名的存储过程
复制代码代码如下:createprocp_sword_getblcolumn(@tblNamevarchar(200),@fromIndexint,@toIndexint,@columnNamevarchar(3000)output)asbegindeclare@tempColumnvarchar(3000)declare@errMsgvarchar(200)declare@iintset@i=1set@columnName=''set@errMsg=''declaretempColumnCurcursorforselectsyscolumns.namefromsyscolumnsjoinsysobjectsonsyscolumns.id=sysobjects.idwheresysobjects.name=@tblNameorderbysyscolumns.colorderopentempColumnCurfetchnextfromtempColumnCurinto@tempColumnwhile@@FETCH_STATUS=0beginif(@fromIndex=0and@toInd...
数据库操作教程 2022-09-23 20:33:40 -
SQLSERVER时间格式大全
具体的网址倒是没保存,可是我这个人习惯把好的代码记起方法保存下来,现在贴出来,希望原作者体谅。复制代码代码如下:---上个月月初第一天selectCONVERT(varchar(12),DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0),112)---上个月月末最后一天selectCONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)),112)--1.显示本月第一天SELECTDATEADD(mm,DATEDIFF(mm,0,getdate()),0)selectconvert(datetime,convert(varchar(8),getdate(),120)+'01',120)--2.显示本月最后一天selectdateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))SELECTdateadd(ms,-3,DA...
数据库操作教程 2022-09-23 20:33:07 -
sqlserver局部变量的使用
A.使用DECLARE下例使用名为@find的局部变量检索所有姓以Ring开头的作者信息。复制代码代码如下:Usepubsdeclare@findvarchar(30)set@find='Ring%'selectau_lname,au_fname,phonefromauthorswhereau_lnamelike@find@find就是一个局部变量...
数据库操作教程 2022-09-23 20:32:23 -
SQL对时间处理的语句小结
复制代码代码如下:--获取当前时间Selectgetdate()--获取当前年月日YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒/*yearyy1753--9999quarterqq1--4monthmm1--12dayofyeardy1--366daydd1--31weekwk1--53weekdaydw1--7(Sunday--Saturday)hourhh0--23minutemi0--59secondss0--59milisecondms0--999*/--DATEPART与DATENAME实现差不多,都能实现同样效果...
数据库操作教程 2022-09-23 20:32:11 -
SQL语句练习实例之七剔除不需要的记录行
复制代码代码如下:--相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要--现在需要一个简单的查询来剔除掉这些为null的记录行。--假设表名为emplyees--方法1.---先把数据导入到数据库---其次:select*fromsys.columnswhereobject_id=(selectobject_idfromsys.objectswherename='EMPLYEEs')---方法2---使用数据库提供的函数execsp_columns'Employees'deletefromEmployeeswherecoalesce(status,tel,gwei,ADDRESS1,address2,nwei)isnull...
数据库操作教程 2022-09-23 20:30:03 -
sqlserver获取当前日期的最大时间值
那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd23:59:59.997。我们可以使用DATEADD函数,来实现,以当前日期的午夜时间值加一天,即得到第二天的午夜时间值,然后再减去3秒,即可以获取当前系统日期的最大时间值...
数据库操作教程 2022-09-23 20:29:19 -
mssql中获取指定日期所在月份的第一天的代码
获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可。复制代码代码如下:CREATEFUNCTION[dbo].[udf_FirstDayOfMonth](@DateDATE)RETURNSDATETIMEASBEGINRETURNCAST(DATEADD(day,1-DAY(@Date),@Date)ASDATETIME)END或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD加上这个相隔月份数,从零开始...
数据库操作教程 2022-09-23 20:29:08 -
SQLServerBulkInsert只需要部分字段时的方法
根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象...
数据库操作教程 2022-09-23 20:28:19