当前位置: 首页> 财经> 创投人物 > 在家开个代加工厂_有没有能用的网站_手机网站建设_网络推广方法大全

在家开个代加工厂_有没有能用的网站_手机网站建设_网络推广方法大全

时间:2025/7/11 19:16:12来源:https://blog.csdn.net/Davina_yu/article/details/143198881 浏览次数:0次
在家开个代加工厂_有没有能用的网站_手机网站建设_网络推广方法大全

当前日期及其未来三天的日期,并分别以 YYYY-MM-DD 和 yyyyMMdd 的格式展示

1、当前日期及其未来三天的日期,以 YYYY-MM-DD的格式展示

WITH CurrentDate AS (SELECT GETDATE() AS 当前日期
)
-- 使用 CONVERT 函数
SELECTCONVERT(VARCHAR(10), 当前日期, 121) AS 当前日期T,CONVERT(VARCHAR(10), DATEADD(dd, 1, 当前日期), 121) AS '日期T+1',CONVERT(VARCHAR(10), DATEADD(dd, 2, 当前日期), 121) AS '日期T+2',CONVERT(VARCHAR(10), DATEADD(dd, 3, 当前日期), 121) AS '日期T+3'
FROM CurrentDateUNION ALL-- 使用 FORMAT 函数
SELECTFORMAT(当前日期, 'yyyy-MM-dd') AS 当前日期T_FORMAT,FORMAT(DATEADD(dd, 1, 当前日期), 'yyyy-MM-dd') AS '日期T+1_FORMAT',FORMAT(DATEADD(dd, 2, 当前日期), 'yyyy-MM-dd') AS '日期T+2_FORMAT',FORMAT(DATEADD(dd, 3, 当前日期), 'yyyy-MM-dd') AS '日期T+3_FORMAT'
FROM CurrentDate;

解释

  • CTE(Common Table Expression)
    • 使用 WITH 子句创建一个公共表表达式(CTE),使得当前日期只计算一次。
    • 这样可以避免多次调用 GETDATE() 函数,提高效率。
  • 使用 CONVERT 函数
    • 使用 CONVERT 函数将日期格式化为 YYYY-MM-DD 的格式。
    • CONVERT 函数的第一个参数是日期,第二个参数是字符串类型,第三个参数是样式代码 121。
  • 使用 FORMAT 函数
    • 使用 FORMAT 函数将日期格式化为 YYYY-MM-DD 的格式。
    • FORMAT 函数的第一个参数是日期,第二个参数是格式字符串 ‘yyyy-MM-dd’。
  • UNION ALL
    • 使用 UNION ALL 将两种方法的结果合并在一起,以便在一个结果集中展示两种格式

在这里插入图片描述

2、当前日期及其未来三天的日期,以 YYYY/MM/DD 的格式展示

WITH CurrentDate AS (SELECT GETDATE() AS 当前日期
)
-- 使用 CONVERT 函数
SELECT-- 使用 CONCAT 拼接 YYYY/MM/DD 格式的日期CONCAT(CONVERT(VARCHAR(4), YEAR(当前日期)),  -- 年份'/', RIGHT('0' + CONVERT(VARCHAR(2), MONTH(当前日期)), 2),  -- 月份'/',RIGHT('0' + CONVERT(VARCHAR(2), DAY(当前日期)), 2)  -- 日) AS 当前日期T_CONVERT,CONCAT(CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 1, 当前日期))),  -- 年份'/', RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 1, 当前日期))), 2),  -- 月份'/',RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 1, 当前日期))), 2)  -- 日) AS '日期T+1_CONVERT',CONCAT(CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 2, 当前日期))),  -- 年份'/', RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 2, 当前日期))), 2),  -- 月份'/',RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 2, 当前日期))), 2)  -- 日) AS '日期T+2_CONVERT',CONCAT(CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 3, 当前日期))),  -- 年份'/', RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 3, 当前日期))), 2),  -- 月份'/',RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 3, 当前日期))), 2)  -- 日) AS '日期T+3_CONVERT'
FROM CurrentDateUNION ALL-- 使用 FORMAT 函数
SELECTFORMAT(当前日期, 'yyyy/MM/dd') AS 当前日期T_FORMAT,FORMAT(DATEADD(dd, 1, 当前日期), 'yyyy/MM/dd') AS '日期T+1_FORMAT',FORMAT(DATEADD(dd, 2, 当前日期), 'yyyy/MM/dd') AS '日期T+2_FORMAT',FORMAT(DATEADD(dd, 3, 当前日期), 'yyyy/MM/dd') AS '日期T+3_FORMAT'
FROM CurrentDate;

解释

  • CTE(Common Table Expression)
    • 使用 WITH 子句创建一个公共表表达式(CTE),使得当前日期只计算一次。
    • 这样可以避免多次调用 GETDATE() 函数,提高效率。
  • 使用 CONVERT 函数和 SQL 的内置函数来生成 YYYY/MM/DD 格式的日期
    • 获取年、月、日
      • 使用 YEAR, MONTH, 和 DAY 函数分别提取年份、月份和日期部分。
    • 格式化月份和日期
      • 使用 RIGHT 函数和字符串拼接来确保月份和日期为两位数字(即补零操作)。
    • 拼接日期
      • 使用 CONCAT 函数将年、月、日按照 YYYY/MM/DD 的格式拼接起来。
  • 使用 FORMAT 函数
    • 使用 FORMAT 函数将日期格式化为 YYYY/MM/DD 的格式。
    • FORMAT 函数的第一个参数是日期,第二个参数是格式字符串 ‘yyyy/MM/dd’。

在这里插入图片描述

3、当前日期及其未来三天的日期,以 YYYYMMDD 的格式展示

WITH CurrentDate AS (SELECT GETDATE() AS 当前日期
)
-- 使用 CONVERT 函数
SELECT-- 使用 CONCAT 拼接 YYYYMMDD 格式的日期CONVERT(VARCHAR(4), YEAR(当前日期)) +  -- 年份RIGHT('0' + CONVERT(VARCHAR(2), MONTH(当前日期)), 2) +  -- 月份RIGHT('0' + CONVERT(VARCHAR(2), DAY(当前日期)), 2) AS 当前日期T_CONVERT,CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 1, 当前日期))) +  -- 年份RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 1, 当前日期))), 2) +  -- 月份RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 1, 当前日期))), 2) AS '日期T+1_CONVERT',CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 2, 当前日期))) +  -- 年份RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 2, 当前日期))), 2) +  -- 月份RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 2, 当前日期))), 2) AS '日期T+2_CONVERT',CONVERT(VARCHAR(4), YEAR(DATEADD(dd, 3, 当前日期))) +  -- 年份RIGHT('0' + CONVERT(VARCHAR(2), MONTH(DATEADD(dd, 3, 当前日期))), 2) +  -- 月份RIGHT('0' + CONVERT(VARCHAR(2), DAY(DATEADD(dd, 3, 当前日期))), 2) AS '日期T+3_CONVERT'
FROM CurrentDateUNION ALL-- 使用 FORMAT 函数
SELECTFORMAT(当前日期, 'yyyyMMdd') AS 当前日期T_FORMAT,FORMAT(DATEADD(dd, 1, 当前日期), 'yyyyMMdd') AS '日期T+1_FORMAT',FORMAT(DATEADD(dd, 2, 当前日期), 'yyyyMMdd') AS '日期T+2_FORMAT',FORMAT(DATEADD(dd, 3, 当前日期), 'yyyyMMdd') AS '日期T+3_FORMAT'
FROM CurrentDate;

在这里插入图片描述

查询以当前时间为基准,往前往后的所有数据

4、今天的所有数据

SELECT *
FROM 表名
WHERE DateDiff(dd, datetime类型字段, GETDATE()) = 0;

解释

  • 使用 DateDiff(dd, datetime类型字段, GETDATE()) = 0 来找到今天的数据。

5、昨天的所有数据

SELECT *
FROM 表名
WHERE DateDiff(dd, datetime类型字段, GETDATE()) = -1;

解释

  • 使用 DateDiff(dd, datetime类型字段, GETDATE()) = -1 来找到昨天的数据。

6、7天内的所有数据

SELECT *
FROM 表名
WHERE DateDiff(dd, datetime类型字段, GETDATE()) >= 0 AND DateDiff(dd, datetime类型字段, GETDATE()) <= 7;

解释

  • 使用 DateDiff(dd, datetime类型字段, GETDATE()) >= 0 AND DateDiff(dd, datetime类型字段, GETDATE()) <= 7 来找到包括今天在内的过去7天的数据。

7、30天内的所有数据

SELECT *
FROM 表名
WHERE DateDiff(dd, datetime类型字段, GETDATE()) >= 0 AND DateDiff(dd, datetime类型字段, GETDATE()) <= 30;

解释

  • 使用 DateDiff(dd, datetime类型字段, GETDATE()) >= 0 AND DateDiff(dd, datetime类型字段, GETDATE()) <= 30 来找到包括今天在内的过去30天的数据。

8、本月的所有数据

SELECT *
FROM 表名
WHERE DateDiff(mm, datetime类型字段, GETDATE()) = 0;

解释

  • 使用 DateDiff(mm, datetime类型字段, GETDATE()) = 0 来找到本月的数据。
  • 注意,这将包括整个当前月份,而不是从今天开始向前推算一个月的时间。

9、本年的所有数据

SELECT *
FROM 表名
WHERE DateDiff(yy, datetime类型字段, GETDATE()) = 0;

解释

  • 使用 DateDiff(yy, datetime类型字段, GETDATE()) = 0 来找到本年的数据。
  • 这将包括整个当前年份,而不是从今天开始向前推算一年的时间

10、未来一天的所有数据

SELECT *
FROM 表名
WHERE datetime类型字段 BETWEEN DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 1, GETDATE());

解释

  • 使用 DateDiff(dd, datetime类型字段, DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 1, GETDATE()) 来找到今天以后的未来一天的数据。

11、未来两天的所有数据

SELECT *
FROM 表名
WHERE datetime类型字段 BETWEEN DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 2, GETDATE());

解释

  • 使用 DateDiff(dd, datetime类型字段, DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 2, GETDATE()) 来找到今天以后的未来两天的数据。

12、未来一周(七天)的所有数据

SELECT *
FROM 表名
WHERE datetime类型字段 BETWEEN DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 7, GETDATE());

解释

  • 使用 DateDiff(dd, datetime类型字段, DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 7, GETDATE()) 来找到今天以后的未来两天的数据。

13、未来一个月(大约30天)的所有数据

SELECT *
FROM 表名
WHERE datetime类型字段 BETWEEN DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 30, GETDATE());

解释

  • 使用 DateDiff(dd, datetime类型字段, DATEADD(dd, 1, GETDATE()) AND DATEADD(dd, 30, GETDATE()) 来找到今天以后的未来一个月的数据。

14、当前日期为基础,查询今天和未来三天的数据,

并确保日期时间字段格式为 ‘YYYY-MM-DD 00:00:00.000’,可以使用以下 SQL 语句:

SELECT *
FROM 表名
WHERE datetime类型字段 BETWEEN CONVERT(datetime, CONVERT(varchar(10), GETDATE(), 121) + ' 00:00:00.000', 121) AND CONVERT(datetime, CONVERT(varchar(10), DATEADD(day, 3, GETDATE()), 121) + ' 00:00:00.000', 121);

解释

  • 获取当前日期时间:GETDATE() 返回当前的系统日期时间。
  • 日期转换为字符串:CONVERT(varchar(10), GETDATE(), 121) 将当前日期转换为 ‘YYYY-MM-DD’ 格式的字符串。
  • 拼接时间为零点:CONVERT(varchar(10), GETDATE(), 121) + ’ 00:00:00.000’ 拼接时间为零点,得到 ‘YYYY-MM-DD 00:00:00.000’ 形式的字符串。
  • 字符串转回 datetime 类型:CONVERT(datetime, … + ’ 00:00:00.000’, 121) 将拼接后的字符串再次转换为 datetime 类型。
  • 日期加法:DATEADD(day, 3, GETDATE()) 计算当前日期之后的三天。
  • 日期范围比较:使用 BETWEEN 操作符来定义日期时间范围
关键字:在家开个代加工厂_有没有能用的网站_手机网站建设_网络推广方法大全

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: