千家信息网

SQL中怎么判断给定日期值

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天就跟大家聊聊有关SQL中怎么判断给定日期值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、给定一个日期值,求出此日期所在星期的星期一和星
千家信息网最后更新 2026年11月03日SQL中怎么判断给定日期值

今天就跟大家聊聊有关SQL中怎么判断给定日期值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05 Function创建如下:复制代码 代码如下: USE [MSSQL] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[My_OneDay_GetWeekFirstAndEndDay](@tmpDate DATETIME) RETURNS @tmpTable TABLE(FirstDay DATETIME , EndDay DATETIME) AS BEGIN INSERT INTO @tmpTable SELECT a.FirstDay,b.EndDay FROM ( SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 0) AS FirstDAy ) a LEFT JOIN ( SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 6) AS EndDay ) b ON a.ID = b.ID RETURN End

Function测试:复制代码 代码如下: SELECT * from My_OneDay_GetWeekFirstAndEndDay('2010-09-01')

二、以上面单个日期搜索为基础,由用户输入两个参数,一个是开始日期,一个结束日期,根据这两个参数,求出在此时期段内的所有星期的星期一和星期天的日期表并排序。 例如开始日期是2011-09-01,结束日期是2011-10-06,我们就可以得到此星期表如下: WeekOrder FirstDay EndDay 1 2011-08-29 00:00:00.000 2011-09-04 00:00:00.000 2 2011-09-05 00:00:00.000 2011-09-11 00:00:00.000 3 2011-09-12 00:00:00.000 2011-09-18 00:00:00.000 4 2011-09-19 00:00:00.000 2011-09-25 00:00:00.000 5 2011-09-26 00:00:00.000 2011-10-02 00:00:00.000 6 2011-10-03 00:00:00.000 2011-10-09 00:00:00.000 Function创建如下:复制代码 代码如下: USE [MSSQL] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[MY_Range_GetWeekFirstAndEndDays](@tmpDateSTART DATETIME,@tmpDateEND DATETIME) RETURNS @tmpTable TABLE(WeekOrder INT,FirstDay DATETIME , EndDay DATETIME) AS BEGIN DECLARE @tmpDate DATETIME DECLARE @index INT SET @tmpDate=@tmpDateSTART SET @index=1 WHILE @tmpDate <=@tmpDateEND BEGIN INSERT INTO @tmpTable SELECT @index,a.FirstDay,b.EndDay FROM ( SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 0) AS FirstDAy) a LEFT JOIN ( SELECT 1 AS ID,DATEADD(wk, DATEDIFF(wk,0,@tmpDate), 6) AS EndDay) b ON a.ID = b.ID SET @tmpDate=DATEADD(DAY,7,@tmpDate) SET @index=@index+1 END RETURN End

Function测试:复制代码 代码如下: SELECT * from My_Range_GetWeekFirstAndEndDays('2011-09-01','2011-10-06')

看完上述内容,你们对SQL中怎么判断给定日期值有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

日期 星期 代码 内容 求出 两个 参数 所在 测试 单个 基础 数据 时期 更多 用户 知识 篇文章 行业 资讯 资讯频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技股互联网 科技创新与互联网经济 互联网科技资迅 互联网科技开发公司 卓越科技(互联网 ) 润盈互联网科技 互联网科技英文翻译 四个字互联网科技公司取名 无锡溥仪互联网科技有限公司 江苏南京365互联网科技 宝灵互联网科技有限公司 和信科技工业互联网 晓花互联网科技有限公司网址 乌苏新华互联网科技做什么的 互联网金融科技元年 抖集互联网科技技术咨询 上海万顺科技互联网有限公司招聘 互联网金融运营模式中的金融科技 平安好医生打造互联网科技医疗 恒生科技互联网指数十大成分股 中国互联网科技股 互联网与科技金融数据 没上市的科技互联网公司 互联网科技金融 互联网金融 科技创新 上海宁丞科技互联网 深圳艾果互联网通讯科技 南通创西澳互联网科技有限公司 易租星互联网科技有限公司 北京瑞云互联网科技有限公司
0