SELECT MAX(b.a) from ( select distinct * from (values (1), (1), (1), (2), (5), (1), (6)) as Y(a) ) as b SELECT MAX(b.b) from ( select distinct * from (values (1,2), (1,3), (1,4), (2,5), (5,6), (1,7), (6,8)) as Y(a,b) ) as b SELECT MAX(b.c) from ( sel…
如何在Sql Server中读取最近一段时间的记录,比如取最近3天的或最近3个月的记录. 主要用到DATEADD函数,下面是详细语句 取最近3天 select * from 表名where rq>=DateAdd(d,-3,getdate()) 取最近3月 select * from 表名 where rq>=DateAdd(m,-3,getdate())   DATEADD的定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法  DATEADD(datepart,nu…
getdate //获得系统当前日期 datepart //获取日期指定部分(年月日时分表) getdate()函数:取得系统当前的日期和时间.返回值为datetime类型的. 用法:getdate() 例子: select getdate() as dte,dateadd(day,-1,getdate()) as nowdat 输出结果: dte nowdat --------------------------- ---------------------------1999-11-21 1…
在c#中有个Date属性用于返回日期,其实就是当天0点. DateTime dtNow = DateTime.Now; DateTime dtNow2 = dtNow.Date; Console.WriteLine("dtNow=" + dtNow); Console.WriteLine("dtNow2=" + dtNow2); 那么SQL Server中有没有这个呢?开始百度,发现这个真没有! 但是方法还是有的,基本上是这两种: 1)直接转成varchar. 2)…
有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题.那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的.那么我们如何判断统计信息不准确呢?当然首先得去查看实际执行计划中,统计信息的相关数据是否与实际情况有较大的出入,下面我们抛开这个大命题,仅仅从统计信息层面去查看统计信息的更新时间,统计信息的采样行数.采样比例等情况. 1:首先,我们要查查统计信息是什么时候更新的. 2:其次,我们查看统计信息的采样的百分比…
公司内设备管理系统中设备建账功能,功能目的是对新进设备进行记录并入库.其中设备编号一项定义为自己修改(查看之前的设备号,取一个不重复的值来填写),感觉特别麻烦!用存储过程自动生成编码岂不是更效率. 需求:根据设备组代码(PC)+递增数字,构成编码,编码中数字必须为三位数,无三位数的,以‘0’占位. 代码如下: --测试数据库准备 use master go if exists(select * from dbo.sysdatabases where name='hzf') drop databa…
取所有月份: declare @begin datetime,@end datetime set @begin='2015-2-6' set @end='2015-12-2' declare @months int set @months=DATEDIFF(month,@begin,@end) select convert(varchar(7),DATEADD(month,number,@begin) ,120) AS 月份 from master.dbo.spt_values where ty…
表AID NUM TIEM1 10 2012-06-10 10:10:002 20 2012-06-10 20:10:003 20 2012-06-10 20:10:004 10 2012-06-10 10:20:005 10 2012-06-10 10:30:00......求SQL语句:用NUIM进行分组,就用后一条记录的时间减去前一条记录的时间(精确到分钟),例如NUM=10时,就用ID为4的减去ID为1的时间差,ID为5的减去ID为4的时间差,即得如下表ID NUM TIEM 时间差1…
问题:博主看到项目脚本,有些地方使用了format函数来把当前日期转换成yyyyMMddHHmmssffff的格式,但在测试环境数据库是sql 2008 r2,是不支持format这个函数的.脚本会报错: 'format' 不是可以识别的 内置函数名称. 'format' is not a recognized built-in function name. 解决方案:由于低版本的SQL不支持format,例如sql 2008\2005\2000,需要使用其他方法来代替.博主经过试验,使用了co…
数据表是这样的 select * from water_level_records m where ( select count(*) from water_level_records n where m.device_id = n.device_id and m.record_time < n.record_time ) 这个sql的逻辑是把一个表当做两个表关联来使用,当满足m的记录时间小于n的记录时间的数量<1 即只有一个相等时返回,即是时间的最大值, 如果为<2 则是为前两大的值,…
=================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我 勿用于学术性引用. 勿用于商业出版.商业印刷.商业引用以及其他商业用途. 本文不定期修正完善. 本文链接:http://www.cnblogs.com/wlsandwho/p/5075789.html 耻辱墙:http://www.cnblo…
--从table_name中随机取n行 select top n * from table_name order by NEWID()…
oalesce 获得参数中第一个不为空的表达式. 语法:        COALESCE ( expression [ ,...n ] ) 例子:CREATE TABLE wages                /*创建表wages*/(   emp_id      tinyint    identity,   hourly_wage   decimal   NULL,   salary      decimal    NULL,   commission   decimal   NULL, …
数据库回滚到时间的的前提: 事务日志完整,数据库在完整恢复模式下进行过一次完整备份,数据库没有进行过还原操作(惨痛教训). 当数据库误操作时,切记冷静,不然问题就是滚雪球, 在不做下一步错误前  可观看该大神的方法: http://blog.csdn.net/dba_huangzj/article/details/8491327 不成功的原因 :1.数据库一直处于简单恢复模式  ,进行完整备份和差异备份(这种状态可以还原数据库,日志会被截断,且所占内存相对小些,日志链不完整)2.二次错误的发生,…
private const string con = "server=192.168.30.36;database=test;user=sa;pwd=123456"; static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("Name"); dt.Columns.Add("index1&q…
需求: 针对带有小数点的数字信息,去除小数点后多余的零 可能存在的情况: 1.精度范围内,出现多余的零    eg:1234.3400     想要的结果为1234.34 2.精度变大出现的多余的零,或者没有实际小数部分的数据     eg:1234.0      想要的结果为 1234 3.数据末尾为小数点,但是没有实际的小数    eg:1234.    想要的结果为1234 ----去零函数 ---去除小数点后多余的零 select dbo.ClearZero('1245.3400') -…
1.按最近修改排序所有存储过程 SELECT [name], [create_date], [modify_date] FROM [sys].[objects] WHERE [type] = 'P' -- 这里也可以替换为:'U','IF','TR'分别代表用户表,自定义函数,触发器 ORDER BY [modify_date] DESC   2.查询指定存储过程的创建及修改时间 select [name] ,create_date ,modify_date FROM sys.all_objec…
实列: SELECT a.BillDate '[开票时间]', a.Hdbh '[运单号]', a.Status '运单状态', a.DisplayStatus '运单状态字', b.name '开票部门', d.name '运达部门', b.OrgAttributes '部门类型', e.MemberProblem, e.CustomerResponse, e.HandleSuggestion FROM shipment_bill a JOIN sys_organization b ON a.…
/****** Object: UserDefinedFunction [dbo].[GetDirectoryPath] Script Date: 2016-12-16 16:54:05 ******/ SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE FUNCTION [dbo].[GetDirectoryPath] ( @Path NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN DECLARE…
create table test (id int, name ), score int, classname )); ,,'一班'); ,,'一班'); ,,'一班'); ,,'二班'); ,,'二班'); ,,'二班'); select t.* from (select test.*,row_number() over (partition by classname order by score desc) rn from test) t ;…
DECLARE @startDate1 DATE; DECLARE @startDate DATETIME; ,@startDate1); ,CONVERT(DATETIME,@startDate1)); SELECT @startDate startDate,@endDate endDate; startDate endDate ----------------------- ----------------------- :: ::59.000…
select   dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate()))     /*上个月一号*/ select   dateadd(dd,-day(getdate()),getdate())                                                                      /* 上月月底 */ select   dateadd(dd,-day…
--(正常效果) select l.* from loadCurveSampling l left join Meter m on l.meter_id=m.Meter_ID --聚合当天最大值数据记录 合并查询(聚合效果) select l.* from loadCurveSampling l, (), DT, )='2018-10-29' group by meter_id)b left join Meter m on b.meter_id=m.Meter_ID where l.meter_…
本文目录列表: 1.从MySQL提供的TO_DAYS和FROM_DAYS这对函数说起2.SQL Server日期时间粒度3.SQL Server周有关时间粒度 4.总结语 5.参考清单列表   从MySQL提供的TO_DAYS和FROM_DAYS针对函数说起      学习和使用过MySQL的博友,大都知道MySQL提供了很多针对日期和时间的函数,提供了获取不同时间粒度上的功能.相对而然SQL Server提供的有关日期和时间函数不太多的,但是其提供的功能也是蛮强大的.还是让我们继续话说MySQ…
微软在备受多年的争议后,终于对日期时间数据类型开刀了,在新版的SQL Server 2008中一口气增加了4种新的日期时间数据类型,包括: Date:一个纯的日期数据类型. Time:一个纯的时间数据类型. DateTime2:新的日期时间类型,将精度提到到了100纳秒. DateTimeOffset:新的日期时间类型,在DateTime2的基础上增加了时区部分. 下面是在SQL Server 2008中日期时间数据类型的一个简单汇总表: 数据类型 格式 取值范围 精度 存储尺寸 date yy…
使用DATEDIFF(取值,时间字段1,时间字段2) 举例: SELECT DATEDIFF(YEAR,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL SERVER 取另两个时间字段之间的间隔时间,年 SELECT DATEDIFF(MONTH,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL SERVER 取另两个时间字段之间的间隔时间,月 SELECT DATEDIFF(DAY,DRYSJ,DCYS…
本文目录列表: 1.什么是时间粒度?2.SQL Server提供的时间粒度3.SQL Server时间粒度代码演示   4.SQL Server基准日期 5.总结语6.参考清单列表   什么是时间粒度?        我们知道比如年.季度.月.旬(一个月分为上中下3旬).日这样的时间单位:也知道小时.分钟.秒:也有短于秒的比如毫秒.微妙.纳秒.飞秒等等时间单位.基于不同的时间,我们可以将时间粒度看作不同时间单位的时间值.       举个例子来说明时间粒度这个问题.一个日期时间值是'2016-0…
在sql server中,取数据中前10条语句,我们可以用top 10 这样语句,但是oracle就没有这个函数,接下来介绍它们之间的区别 1.sql server 取前10语句和随机10条的语法 --测试表数据-- select * from BdsPaperItem --查询测试表的前10条语句-- * from BdsPaperItem order by Uid asc --随机查询测试表10条语句-- * from BdsPaperItem order by NEWID() 结果实例:…
分析比较执行时间计划读取情况 1. 查看执行时间和cpu set statistics time on select * from Bus_DevHistoryData set statistics time off 执行后在消息里可以看到 2. 查看查询对I/O的操作情况 set statistics io on select * from Bus_DevHistoryData set statistics io off 执行之后的结果: 扫描计数:索引和表执行次数 逻辑读取:数据缓存中读取的…