-
SQL判断给定日期值(或时间段)所在星期的星期一和星期天的日期
一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据例如给定一个日期2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05Function创建如下:复制代码代码如下:USE[MSSQL]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEFUNCTION[dbo].[My_OneDay_GetWeekFirstAndEndDay](@tmpDateDATETIME)RETURNS@tmpTableTABLE(FirstDayDATETIME,EndDayDATETIME)[email protected],b.EndDayFROM(SELECT1ASID,DATEADD(wk,DATEDIFF(wk,0,@tmpDate),0)ASFirstDAy)aLEFTJOIN(SELECT1ASID,DATEADD(wk,DATEDIFF(wk,0,@tmpDate),6)ASEndDay)bONa.ID=b.IDRETURNEndFunctio...
数据库操作教程 2022-09-23 20:42:38 -
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本地时间和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 -
SQL学习笔记三select语句的各种形式小结
复制代码代码如下:Select*fromT_EmployeeselectFName,FAgefromT_EmployeeselectFNamefromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪fromT_EmployeewhereFSalary<5000selectFNameas姓名,FAgeas年龄,FSalaryas月薪,getdate()as当前时间fromT_Employee3.3.1SELECT命令的格式与基本使用Ø数据查询是数据库中最常见的操作。ØSQL语言提供SELECT语句,通过查询操作可得到所需的信息...
数据库操作教程 2022-09-23 20:38:32 -
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 -
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 -
sqlserver获取当前日期的最大时间值
那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd23:59:59.997。我们可以使用DATEADD函数,来实现,以当前日期的午夜时间值加一天,即得到第二天的午夜时间值,然后再减去3秒,即可以获取当前系统日期的最大时间值...
数据库操作教程 2022-09-23 20:29:19 -
mssql30万条数据搜索文本字段的各种方式对比
数据库:30万条,有ID列但无主键,在要搜索的“分类”字段上建有非聚集索引过程T-SQL:复制代码代码如下:/*用户自定义函数:执行时间在1150-1200毫秒左右CREATEFUNCTION[dbo].[gethl](@typesnvarchar(4))RETURNStableASreturnselect书名from图书三十万条Where分类Like'%'+@types+'%'存储过程:CREATEPROCEDURE[dbo].[getfl](@typennvarchar(4))ASselect书名from图书三十万条Where分类Like'%'+@typen+'%'*/复制代码代码如下:declare@adatetime,@bnvarchar(4)set@a=getDate()select书名from图书三十万条Where分类Like'%医学%'--“分类”列有非聚集索引,比聚集索引1150快一点,差不多执行时间在1100左右--select书名fromgethl('医学')--使用用户自定义函数,效率和建立聚集索引一样,还稍慢一点在1150-1200--Executegetfl'...
数据库操作教程 2022-09-23 20:24:39 -
Sqlserver常用日期时间函数
MSSQLServer中文版的预设日期datetime格式是yyyy-mm-ddhh:mm:ss.mmm长短日期格式复制代码代码如下:--短日期格式:yyyy-m-dSELECTREPLACE(CONVERT(varchar(10),getdate(),120),N'-0','-')--长日期格式:yyyy年mm月dd日SELECTSTUFF(STUFF(CONVERT(char(8),getdate(),112),5,0,N'年'),8,0,N'月')+N'日'--短日期格式:yyyy年m月d日SELECTDATENAME(Year,getdate())+N'年'+CAST(DATEPART(Month,getdate())ASvarchar)+N'月'+DATENAME(Day,getdate())+N'日'--完整日期+时间格式:yyyy-mm-ddhh:mi:ss:mmmSELECTCONVERT(char(11),getdate(),120)+CONVERT(char(12),getdate(),114)CONVERT复制代码代码如下:SelectCONVERT(varcha...
数据库操作教程 2022-09-23 20:18:04 -
在SQLServer上查看SQL语句的执行时间的方法
1:下面这种是比较简单的查询方法,通过查询前的时间和查询后的时间差来计算的复制代码代码如下:declare@begin_datedatetimedeclare@end_datedatetimeselect@begin_date=getdate()<这里写上你的语句...>select@end_date=getdate()selectdatediff(ms,@begin_date,@end_date)as'用时/毫秒'2:下面这种方法比较全面,将执行每个语句时采取的步骤作为行集返回,通过层次结构树的形式展示出来复制代码代码如下:setstatisticsprofileonsetstatisticsioonsetstatisticstimeongo<这里写上你的语句...>gosetstatisticsprofileoffsetstatisticsiooffsetstatisticstimeoff有时候我们需要知道一段SQL语句执行的时间有多长。下面是其中一种办法...
数据库操作教程 2022-09-23 20:16:20