sql - 在 SQL 中创建存储过程创建暗日期
问题描述
我需要在 SQL Server 中创建一个存储过程,它将为我创建昏暗的日期。
该过程将获取开始和结束日期作为值并填充日期。
我需要的列:
- 日期代码为整数
- 日期名称作为日期
- 月份为整数
- 四分之一为整数
- 年为整数
- 假期为 nvarchar/integer (我用我的假期表填充它)
- 星期几作为 nvarchar
解决方案
CREATE or ALTER PROCEDURE sp_date(@start_date date, @end_date date)
AS
BEGIN
SELECT cast(convert(varchar, cast( d as date ) , 112) as int ) [date code],
cast( d as date ) [date name],
month( d ) [month],
datename(qq, d) [quarter],
year( d ) [year],
NULL [holiday],
datename(weekday, d) [day of the week]
into dbo.datetable
FROM ( SELECT d = DATEADD(DAY, rn - 1, @start_date)
FROM ( SELECT TOP (DATEDIFF(DAY, @start_date, @end_date))
rn = ROW_NUMBER() OVER (ORDER BY s1.[object_id])
FROM sys.all_objects AS s1
CROSS JOIN sys.all_objects AS s2
ORDER BY s1.[object_id]
) AS x
) AS y;
END
GO
/*
Parameters:
@start_date = 'YYYY-MM-DD'
@end_date = 'YYYY-MM-DD'
*/
推荐阅读
- spring-boot - flatten-maven-plugin 部署多模块项目
- kotlin - 多种类型的通用约束
- javascript - 是否有与 php 的 password_verify 等效的 JavaScript?
- powershell - 具有变量问题的 Get-ADuser 过滤器
- sql - QUERY 给我一个错误:将 nvarchar 值转换为数据类型 int 时转换失败
- javascript - 在 Firestore 中使用 Firebase 身份验证 UID 获取文档 ID,导致网站出现问题
- python - 基于直方图的阈值化
- elasticsearch - 在 logstash 中过滤日志并保存到 Elastic Search
- jenkins - 如何在 Jenkins 中使用 MSBuild 命令行覆盖目标文件
- javascript - 使用从浏览器滚动按类名计算 Div