mssql中获取指定日期所在月份的第一天的代码

来源:asp之家 时间:2011-09-30 11:23:57 

获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可。 

代码如下:


CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME)
END


或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD加上这个相隔月份数,从零开始。

代码如下:


CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
RETURN DATEADD(MONTH,DATEDIFF(MONTH,0,@Date),0)
END


或者,从指定的日期取出年或月,然后与01组合为日期,即得到指定日期当月天第一天。 

代码如下:


CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
DECLARE @y NVARCHAR(4) = CAST(YEAR(@Date) AS NVARCHAR(4))
DECLARE @m NVARCHAR(2) = CAST(MONTH(@Date) AS NVARCHAR(2))
RETURN CAST((@y + N'-' + @m + N'-01') AS DATETIME)
END


指定日期格式来转换,这样也可以获取指定日期所在月份的第一天。 

代码如下:


CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
DECLARE @ym NVARCHAR(10) = CONVERT(varchar(8),GETDATE(),23)
RETURN CAST((@ym + N'01') AS DATETIME)
END

标签:日期,第一天
0
投稿

猜你喜欢

  • django表单实现下拉框的示例讲解

    2022-03-24 09:18:25
  • golang的协程上下文的具体使用

    2024-02-01 00:41:02
  • python opencv通过4坐标剪裁图片

    2022-06-03 20:14:03
  • 设计稿标注首屏线的确定始末

    2011-03-30 12:36:00
  • Mysql主从复制注意事项的讲解

    2024-01-28 10:57:32
  • Python实现定时发送监控邮件

    2023-12-29 06:38:57
  • MySQL 8.0.29 解压版安装配置方法图文教程

    2024-01-16 03:20:50
  • asp代码WinHttp.WinHttpRequest.5.1使用例子

    2010-03-11 21:28:00
  • PHP header()函数常用方法总结

    2023-09-06 16:51:50
  • vue实现页面添加水印

    2024-05-10 14:19:59
  • python 实现IP子网计算

    2022-04-24 20:27:37
  • MYSQL本地安装以及出现的问题解决

    2024-01-25 00:00:36
  • 详解Python time库的使用

    2021-06-06 07:18:02
  • 用python3 返回鼠标位置的实现方法(带界面)

    2021-07-17 15:11:40
  • 简单的ASP生成HTML并分页程序

    2009-07-20 12:32:00
  • MySQL 的启动和连接方式实例分析

    2024-01-21 09:06:03
  • SQL中的开窗函数(窗口函数)

    2024-01-24 09:59:43
  • Python django框架输入汉字,数字,字符生成二维码实现详解

    2022-12-13 00:23:24
  • mysql 导入导出数据

    2011-02-23 12:27:00
  • vue el-table中使用el-select选中后无效的解决

    2024-04-26 17:37:54
  • asp之家 网络编程 m.aspxhome.com