mssql中獲取指定日期所在月份的第一天的代碼
更新時間:2011年09月12日 14:46:38 作者:
mssql中獲取指定日期所在月份的第一天的代碼,需要的朋友可以參考下。
獲取指定日期月份的第一天,你可以使用DATEADD函數(shù),減去指定日期的月份過去了的天數(shù),即可。
CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME)
END
或者,用DATEDIFF計算指定日期與日期開始之時,相隔幾個月,然后再DATEADD加上這個相隔月份數(shù),從零開始。
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
或者,參考這篇:http://www.dhdzp.com/article/23285.htm 使用CONVERT函數(shù),指定日期格式來轉(zhuǎn)換,這樣也可以獲取指定日期所在月份的第一天。
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
復制代碼 代碼如下:
CREATE FUNCTION [dbo].[udf_FirstDayOfMonth]
(
@Date DATE
)
RETURNS DATETIME
AS
BEGIN
RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME)
END
或者,用DATEDIFF計算指定日期與日期開始之時,相隔幾個月,然后再DATEADD加上這個相隔月份數(shù),從零開始。
復制代碼 代碼如下:
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
或者,參考這篇:http://www.dhdzp.com/article/23285.htm 使用CONVERT函數(shù),指定日期格式來轉(zhuǎn)換,這樣也可以獲取指定日期所在月份的第一天。
復制代碼 代碼如下:
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
相關(guān)文章
SQL Server日志恢復還原數(shù)據(jù)的操作流程
有時開發(fā)過程中由于不小心或者程序出現(xiàn)錯誤導致錯誤刪除數(shù)據(jù),或者由于計算機以外引起數(shù)據(jù)遭到破壞,這時候可以采用日志進行恢復,所以本文給大家介紹了SQL Server日志恢復還原數(shù)據(jù)的操作流程,需要的朋友可以參考下2024-09-09
Sql Server2012 使用IP地址登錄服務器的配置圖文教程
最近在使用NFineBase框架+c#做一個系統(tǒng)的時候,在使用sql server 2012 連接數(shù)據(jù)庫的時候,在使用過程中遇到了幾個問題,下面小編給大家分享Sql Server2012 使用IP地址登錄服務器的配置圖文教程,一起學習吧2017-07-07
SQL Server數(shù)據(jù)庫設置自動備份策略的完整步驟
這篇文章主要給大家介紹了關(guān)于SQL Server數(shù)據(jù)庫設置自動備份策略的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用sql server具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-09-09
如何在navicat中利用sql語句建表+添加數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于如何在navicat中利用sql語句建表+添加數(shù)據(jù)的相關(guān)資料,Navicat是一套快速,專為簡化數(shù)據(jù)庫的管理及降低系統(tǒng)管理成本而設,它的設計符合數(shù)據(jù)庫管理員、開發(fā)人員及中小企業(yè)的需要,需要的朋友可以參考下2023-10-10
SQL Server創(chuàng)建用戶只能訪問指定數(shù)據(jù)庫和視圖的操作步驟
本文介紹了如何在SQLServer中創(chuàng)建用戶并限定其訪問權(quán)限,包括創(chuàng)建用戶、設置用戶映射、設置只能訪問指定的數(shù)據(jù)表或視圖、給指定表或視圖賦予具體權(quán)限和檢查權(quán)限等步驟,這種設置可以防止用戶訪問到過多不必要的過程表和過程視圖,提高數(shù)據(jù)安全性2024-10-10

