获取指定日期月份的第一天,你可以使用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

或者,参考这篇:https://www.jb51.net/article/23285.htm 使用CONVERT函数,指定日期格式来转换,这样也可以获取指定日期所在月份的第一天。
复制代码 代码如下:
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

更多相关文章

  1. Android(安卓)Studio & ADT 快捷键配置文件所在目录,自定义后可导
  2. Android(安卓)Calendar使用过程中遇到的问题
  3. DatePicker 日期选择控件 DatePickerDialog 日期选择对话框
  4. Android(安卓)获取手机本地图片所在的位置
  5. Android获取所在地城市名2
  6. android 日期对话框
  7. android calendar的使用
  8. Android(安卓)获取手机当前所在的经纬度
  9. ch07 Android(安卓)日期与时间对话框

随机推荐

  1. Android 网络(四) Retrofit学习笔记
  2. Android UI Operation in Thread
  3. Android快速开发框架介绍
  4. 百度Android开发面试题
  5. Android 五子棋开发经验
  6. 数据解析
  7. Android - menu 相关
  8. Android的系统的Binder机制(一)
  9. 构建Android开发环境
  10. 在Android库中不能使用switch-case语句访