一、计算一年中的第几天DATENAME(dp,d)

DATENAME(dp,d)函数根据dp指定返回日期中相应部分的值,dp可以取值为:quarter,dayofyear,day,week,weekday,hour,minute,second等,返回的值是字符型。

首先呢,SQL Server自带的有一个函数datename(dayofyear,'2021-06-14')可以计算出一年中的第几天。

以此类推,你是不是想到一年中的第几周应该用weekofyear.But 没有这个。

所以,要计算一年中的第几周还需要花点心思了,那问题来了?一周中的哪一天作为第一天呢?

二、计算一年中的第几周

默认都是周天作为一周的第一天。但是第一天是可以设置的

set datefirst 5 -- 设置周五为第一天

select datepart(wk,'2021-06-14')

三、DATEPART(dp,d)函数

用法:

DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。返回的类型为整型。若要返回字符型可以用DATENAME()函数,可用于时间日期之间的拼接,用法和DATEPART()类似。

语法:DATEPART(datepart,date/string) 

datepart

缩写形式

year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
TZoffset tz
ISO_WEEK isowk, isoww

如果不是date或者string类型,我们需要将其转换为string(varchar)类型。

declare @shijian decimal(8)set @shijian = 20190718SELECT GETDATE() AS 当前时间_date,DATEPART(YEAR,GETDATE()) AS 当前年份_date,DATEPART(yy,GETDATE()) AS 当前年份简写_date,DATEPART(yy,'2019-07-18 14:17:25.793') AS 当前年份简写_string,DATEPART(YYYY, CAST(CONVERT(varchar(8), @shijian) as DATE) )  as 当前年份简写_decimal

【题】获取HS_ESA41M00表KEEP_OF_DATE字段下所有年份的1.1号到1.15号,4.1号到4.15号,7.1号到7.15号,10.1号到10.15号数据   参考 https://www.cnblogs.com/EaTerLeader/p/11207137.html

select * from HS_ESA41M00 where DATEPART(MONTH, KEEP_OF_DATE) in(01,04,07,10) and DATEPART(DAY, KEEP_OF_DATE) between 01 and 15

SQL Server计算一年中的第几周相关推荐

  1. Javascript 计算一年中的第几周 从几号开始到几号结束

    需求介绍 给一个年份和第几周,计算出这周是从几号到几号 规则 一年分为54周,第一周是1月1日到第一个周日,第二周是今年的第一个周一往后推一周,以此类推,第53周的时候如果没到12月31日,则该年度有 ...

  2. SQL server 计算当前日期为一年中的第几周,以周五/周一作为一周中的第一天

    这个问题对于小白的我来说,当时找了好久才解决,所以在这里记录一下. 要计算当前日期为一年中的第几周,以周五作为一周中的第一天 首先设置每周的起始天为周五(因为默认是从周天开始的) SET DATEFI ...

  3. sql server计算日期到当前日期天数_Excel如何统计连续停机天数问题

    前几天有个朋友问了一个关于连续时间统计的问题,使用Power Query for Excel来解决的.今天在张俊红老师的公众号上看到了使用使用SQL来解决连续时间的统计问题.这个问题是一个非常经典的例 ...

  4. sql server 计算2个日期相差的 天数,月数,年数,日期运算/计算

    --天数 select datediff(day,'2004-09-01','2004-09-02') --年数 select datediff(month,'2004-09-01','2004-10 ...

  5. SQL Server计算汉字笔画部首

    /* 有一个成语表,请计算 1)每个字笔画数都相同的成语 2)每个字都含有偏旁三点水或火字旁的成语 */--创建汉字词典 CREATE TABLE myHanzi (id INT NOT NULL,z ...

  6. 【无标题】SQL server 计算工作日(排除双休日)

    计算工作日时间差 --计算工作时间相差小时数 CREATE FUNCTION dbo.fun_CalculateWorkdays ( @startdate DATETIME,    -- 开始日期 @ ...

  7. sql server 计算两个时间 相差的 几天几时几分几秒

    CAST ( CAST ( DATEDIFF ( ss, StartTime, ConcludeTime ) / ( 60 * 60 * 24 ) AS INT ) AS VARCHAR ) + '天 ...

  8. sql server 计算坐标点距离函数

    ALTER FUNCTION [dbo].[fnGetDistance](@LatBegin REAL, @LngBegin REAL, @LatEnd REAL, @LngEnd REAL) RET ...

  9. SQL Server中的计算列概述

    In this article, we will explore computed columns in SQL Server and their configurations. 在本文中,我们将探讨 ...

最新文章

  1. Swift----函数 、 闭包 、 枚举 、 类和结构体 、 属性
  2. c语言写输入汉字输出区位码程序,2017年计算机应用基础检测试题
  3. UICollectionView的使用
  4. nginx https反向代理tomcat
  5. 解决修改/etc/sudoers文件后:报 语法错误 near line 23
  6. 通过aws部署推荐系统_通过AWS Elastic Beanstalk轻松进行Spring Boot部署
  7. Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
  8. 【Elasticsearch】Elasticsearch 集群 运维 高性能 架构设计 高负载
  9. 解决:/system/bin/sh: /system/bin/test-ndk: not executable: magic 7F45报错
  10. C语言随机生成26个字母,菜鸟求助,写一个随机输出26个英文字母的程序
  11. bzoj3210: 花神的浇花集会
  12. 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入...
  13. libtorrent源码分析(四)LSD实现
  14. RS232引脚定义及串口通信中与USB等转接
  15. Python之堆排序算法实现
  16. 解决Unable to find a single main class from the following candidates
  17. 用计算机数字打喜欢你,喜欢你数字怎么表示,“我喜欢你”用数字怎么
  18. 大恒相机图像采集 linux+python
  19. oracle 抽样_oracle优化手段--统计信息导出和抽样提取数据
  20. BLE Mesh (8) —— Friendship

热门文章

  1. layer-list的作用和使用方法
  2. Mac电脑用预览功能调整图像大小?Mac调整图片大小方法
  3. CoM+日志错误 Help!!!
  4. 用python和ffmpeg批量合成bilibili缓存的m4s成mp4
  5. 一文看懂开源许可证丨开源知识科普
  6. 喜讯!神策数据荣登 2022 年度数字化保险百强榜
  7. 如何使用Tableau进行预测分析
  8. 计算机与代数---如何计算sqrt---方法和实现
  9. 2021最新Spring Boot 面试题
  10. VBA之正则表达式(14)-- 提取指定位数的数字