我需要确定SQL Server中给定日期的月天数.

有内置功能吗?如果没有,我应该使用什么作为用户定义函数?

推荐答案

您可以在指定月份的第一天使用以下选项:

datediff(day, @date, dateadd(month, 1, @date))

要让它在每个日期都有效:

datediff(day, dateadd(day, 1-day(@date), @date),
              dateadd(month, 1, dateadd(day, 1-day(@date), @date)))

Sql相关问答推荐

SQL查询组类值在同一行中,并连接和排序其他值

替换上一个或下一个值中的空值并添加其价格日期

在SQL查询中使用COALESS

返回找到的最小和最大row_number()spark SQL

直接加法(1+1)与聚合函数SUM(1+1)的区别是什么

在PostgreSQL中汇总连接表中的 case 值

PATINDEX中与[A-Z]匹配(U除外)的正则表达式

用另一个表中的特定名称替换 SQL 查询中的 ID.但我的两个表都有多个列

Select 一个非零值减少重复

JSON对象查询SQL服务器

正则表达式:停在第一个匹配的其中一个字符位置上

在 MS Access VBA 中,如何测量显示查询的时间?

在给定列中具有特定值的行与 SQL 中的总行数的比率

在 MySql 数据库中的两个日期之间搜索

当没有任何行存在时,将一个表中的行插入到另一个表中的更好方法

SQL/Postgres:按日期和其他属性对相关性能进行分组

如何在 SQL Server 中参数化 Select top 'n'

Postgres 窗口函数未按预期工作

有条件求和

从json获取一行到多个订单id和多个产品行