`
forestkqq
  • 浏览: 210394 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

在SqlServer中计算日期周期

SQL 
阅读更多

 

    最近在开发一个计量信息系统,数据库使用 SqlServer 。计量器具需要定期的进行校准 / 检定。

设计了一个器具表: MetroIntraImpl ,其中有

 

 

  • 字段 MetroDate 表示上次校准 / 检定日期
  • 字段 MetroCycle 表示校准 / 检定周期
  • 字段 MetroCycleUnit 表示校准 / 检定周期单位,可以为年月日等。

 

    由此三个字段,客户会希望得到器具下次的拟校准 / 检定日期。

 

    为此,设计一个视图,视图的 Sql 为:

SELECT dbo.MetroIntraImpl.*,
CASE
WHEN MetroDate IS NULL THEN NULL
WHEN Len(LTRIM(MetroDate)) = 0 THEN NULL
ELSE
  CASE MetroCycleUnit
      WHEN '年' THEN DATEADD(Year,    MetroCycle, CONVERT(datetime, MetroDate))
      WHEN '月' THEN DATEADD(Month, MetroCycle, CONVERT(datetime, MetroDate))
      WHEN '日' THEN DATEADD(Day,     MetroCycle, CONVERT(datetime, MetroDate))
      ELSE DATEADD(Month, MetroCycle,CONVERT(datetime, MetroDate))
  END
END 
AS MetroDateNext
FROM dbo.MetroIntraImpl

 

 

 

    访问此视图的 MetroDateNext 字段即可获得器具的下次拟校准 / 检定日期。

 

    参看 SqlServer 的在线帮助, DATEADD 的第一个参数还是其他的一些值,如季度、小时等。

 

 

 

1
0
分享到:
评论

相关推荐

    SQL Server中获取第一天、最后一天

    通过以上SQL语句的介绍,我们可以看出,在SQL Server中利用`DATEADD`和`DATEDIFF`函数可以灵活地处理各种日期计算需求,这对于优化数据查询性能、提高数据分析效率具有重要意义。掌握了这些技巧,便能更高效地应对...

    SQL Server 2012 Tutorials - Analysis Services Tabular Modeling

    在SQL Server 2012中,Analysis Services引入了一种新的数据模型:表格式(Tabular Model)。此模型旨在简化复杂的多维数据分析,提供更直观、更易于管理的数据结构,特别适用于内存计算环境。以下是对该教程中的...

    SQL Server 数据库日常维护脚本 合集

    在数据库管理中,备份是一项极其重要的任务,确保数据的安全与可恢复性。SQL Server 提供了多种备份方式,包括完整备份、差异备份以及事务日志备份等。 ##### 完整备份 完整备份是指将整个数据库的数据及结构全部...

    SQL SERVER存储过程范例

    在SQL Server中,存储过程是一种预编译的SQL语句集合,可以用来执行特定的任务,提高数据库操作的效率和安全性。下面将详细解释标题和描述中提到的"SQL SERVER存储过程范例",并结合提供的代码片段进行分析。 首先...

    人事管理系统(c#+sqlserver2000)

    【人事管理系统(c#+sqlserver2000)】 在IT领域,人事管理系统是企业信息化建设中的重要组成部分,它主要用于管理企业内部的员工信息、考勤记录、薪酬福利、招聘选拔等人力资源相关事务。本系统采用C#编程语言与SQL ...

    网上书店 C# + SqlServer

    在这个项目中,开发团队可能采用了敏捷实践,如短周期的迭代开发、持续集成和用户反馈驱动的改进,以确保项目的高效和质量。 5. **图书交易平台功能**: - **用户登录**:用户通过输入用户名和密码登录系统,系统...

    SQL Server 2008 商业智能完美解决方案(3)

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    asp.net+sql server 课程设计 学生管理系统

    在本次课程设计中,我们将探讨如何使用ASP.NET技术结合SQL Server数据库来构建一个高效的学生管理系统。ASP.NET是微软开发的一款用于构建Web应用程序的框架,它提供了丰富的功能和强大的性能,使得开发者能够更轻松...

    SQL Server资料

    T-SQL是SQL Server中的核心编程语言,用于数据库管理和数据操作。以下是围绕这些主题展开的详细知识点: 1. **T-SQL语言基础**: - **数据类型**:包括数值类型(如int, decimal)、字符类型(如varchar, nvarchar...

    SQL Server T-SQL Recipes, 4th Edition

    本书不仅提供了丰富的示例代码,还深入探讨了SQL Server中的常见问题及其解决方案。 #### 核心章节概览 **1. Getting Started with SELECT** - **基础查询**: 介绍如何使用`SELECT`语句进行基本的数据检索。 - **...

    基于Vb+SqlServer 实现的计算机图书管理系统原版(论文+源码)

    在这个系统中,SQLServer负责存储图书信息,包括书名、作者、出版社、出版日期等字段。VB通过ADO.NET(ActiveX Data Objects .NET)与SQLServer进行数据通信,实现对数据库的CRUD(Create, Read, Update, Delete)...

    SQL Server 2008商业智能完美解决方案 1/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    asp.net +sql server 人事管理系统

    在人事管理系统中,SQL Server用于存储和管理人事数据,如员工基本信息、职位、部门、工资记录等。开发者可能使用T-SQL(Transact-SQL)来编写查询语句,实现数据的增删改查和复杂的数据操作。此外,SQL Server还...

    毕业论文jsp1507酒店管理系统sqlserver.doc

    毕业论文jsp1507酒店管理系统sqlserver.doc 标题:"毕业论文jsp1507酒店管理...该论文提供了酒店管理系统的设计和实现,涵盖了软件开发生命周期、数据库设计、系统分析与设计、jsp和sqlserver技术等多方面的知识点。

    SQL Server 6.5的2000年问题.pdf

    这个问题源于早期计算机系统中日期存储方式的局限性,尤其是在SQL Server 6.5这样的早期版本中。本文将深入探讨这个问题的成因、操作系统的处理方式以及软件系统可能遇到的困扰。 首先,2000年问题的根源在于RTC...

    SQL Server 2008商业智能完美解决方案 3/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    SQL Server 2008商业智能完美解决方案 2/3

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    SQL中常用的的时间跟日期函数

    在SQL(结构化查询语言)中,时间与日期函数是处理日期和时间数据的重要工具,它们可以帮助我们进行各种时间相关的计算、格式化和提取操作。本文将深入探讨SQL中的主要时间与日期函数,并通过实例来展示其具体用法。...

    基于asp.net+sqlserver实现的医药进销存管理系统

    在医药进销存管理系统中,SQLServer用于存储和处理大量的商品信息、交易记录、库存数据等,其强大的数据处理能力、高可用性和安全性确保了数据的可靠性和一致性。开发者可以利用SQL语句进行数据查询、插入、更新和...

Global site tag (gtag.js) - Google Analytics