当前位置:  数据库>sqlserver

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

    来源: 互联网  发布时间:2014-08-29

    本文导语:  sql server中获取指定日期所在月份的第一天的代码,感兴趣的朋友可以参考下。 获取指定日期月份的第一天,可以使用DATEADD函数,减去指定日期的月份过去了的天数。   代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ...

sql server中获取指定日期所在月份的第一天的代码,感兴趣的朋友可以参考下。
获取指定日期月份的第一天,可以使用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

使用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

    
 
 

您可能感兴趣的文章:

  • 用sql获取SQL Server中连接的客户端IP地址
  • sql server 使用ntile获取数据的例子
  • 获取SQL Server2014的安装时间
  • 获取sql server数据字典的sql语句
  • 获取sql server表中的所有列字段名称的方法
  • MySql获取某个字段存在于哪个表的sql语句
  • SQL语句去掉重复记录,获取重复记录
  • sql语句获取数据库服务器上所有数据库的名字
  • sql server 获取TEXT字段的内容长度的方法参考
  • sql语句获取分组排序后数据
  • 获取SQL Server表字段的各种属性的sql语句
  • sql中获取分组排序后数据方法实例
  • sql server获取月份名称缩写的代码
  • sql获取分组排序后数据的脚本
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • 在SQL Server的try...catch语句中获取错误消息代码的的语句
  • MS SQL Server获取十二个月份的英文缩写
  • sql数据库获取某月某季某年最后一天(sql日期计算)
  • sql根据表名获取字段及对应说明
  • 用sql获取某字符串中的数字部分的语句
  • 请教:如何用shell实现指定log文件(比如a.log)中的指定内容(SQL_ID和SQL的处理部分)的收集
  • SQL Server中选出指定范围行的SQL语句代码
  • 如何实现用jsp将sql server 的数据备份出来!并指定存放路径!
  • 如何连接指定ip地址的SQL Server数据库?
  • 在sql中不指定Order by排序是按照主键吗
  • 在linex中,定时导出sql语句的结果到指定文件中
  • mssql 指定字段编号sql语句
  • Oracle判断指定列是否全部为数字的sql语句
  • oracle中如何用PL/SQL打开一个指定的库,并在屏幕上列出库中的所有表?
  • 在j2ee的deploytool中如何指定sql server数据库的jndi?
  • SQL查询某列指定长度的字符串多余的用省略号来表示
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Sql 批量查看字符所在的表及字段
  • SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期
  • sql2005中按某一字段分组取最大(小)值所在行的数据 实例代码
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 移动开发 iis7站长之家
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3