-
SQL语句练习实例之三——平均销售等待时间
复制代码代码如下:---1.平均销售等待时间---有一张Sales表,其中有销售日期与顾客两列,现在要求使用一条SQL语句实现计算--每个顾客的两次购买之间的平均天数--假设:在同一个人在一天中不会购买两次createtablesales(custnamevarchar(10)notnull,saledatedatetimenotnull)goinsertsalesselect'张三','2010-1-1'unionselect'张三','2010-11-1'unionselect'张三','2011-1-1'unionselect'王五','2010-2-1'unionselect'王五','2010-4-1'unionselect'李四','2010-1-1'unionselect'李四','2010-5-1'unionselect'李四','2010-9-1'unionselect'李四','2011-1-1'unionselect'赵六','2010-1-1'unionselect'钱途','2010-1-1'unionselect'钱途','2011-3-1'unionsel...
数据库操作教程 2022-09-23 20:42:14 -
sqlserver中时间为空的处理小结
现将几种主要情况进行小结:一、如何输入NULL值如果不输入null值,当时间为空时,会默认写入"1900-01-01",在业务处理时很麻烦。ctrl+0即可输入NULL值...
数据库操作教程 2022-09-23 20:42:06 -
sqlserver中获取月份的天数的方法分享
如下:复制代码代码如下:CREATEFUNCTION[dbo].[udf_DaysInMonth](@DateDATETIME)RETURNSINTASBEGINDECLARE@dimASTABLE(MINT,DyINT)INSERTINTO@dimVALUES(1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31),(4,30),(6,30),(9,30),(11,30),(2,CASEWHEN(YEAR(@Date)%4=0ANDYEAR(@Date)%100<>0)OR(YEAR(@Date)%400=0)THEN29ELSE28END)DECLARE@RValueINTSELECT@RValue=[Dy]FROM@dimWHERE[M]=MONTH(@Date)RETURN@RValueENDGO获取月份天数,以前在博客上也有写过,不过它只是取得二月份的天数。链接如下:http://www.cnblogs.com/insus/articles/2025019.html现第一眼看见专案中这个函数,总觉它写得不够好的感觉,是否...
数据库操作教程 2022-09-23 20:41:53 -
SQLServer本地时间和UTC时间的相互转换实现代码
复制代码代码如下:DECLARE@LocalDateDATETIME,@UTCDateDATETIME,@LocalDate2DATETIMESET@LocalDate=GETDATE()SET@UTCDate=DATEADD(hour,DATEDIFF(hour,GETDATE(),GETUTCDATE()),@LocalDate)SET@LocalDate2=DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),@UTCDate)SELECT'1.Now'[Now],@LocalDate[DateTime]UNIONSELECT'2...
数据库操作教程 2022-09-23 20:41:19 -
获取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