经典SQL自定义函数

  1、确定某年某月有多少天

  实现原理:先利用DATEDIFF取得当前月的第一天,再将月份加一取得下月第一天,然后减去1分钟,再取日期的

  天数部分,即为当月最大日期,也即当月天数

  CREATE FUNCTION DaysInMonth ( @date datetime ) Returns int

  AS

  BEGIN

  RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0)))

  END

  调用示例:

  select dbo.DaysInMonth ('2006-02-03')

  (2)计算哪一天是本周的星期一

  SELECT DATEADD(week, DATEDIFF(week,'1900-01-01',getdate()), '1900-01-01') --返回2006-11-06 00:00:00.000

  或

  SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0)

  (3)当前季度的第一天

  SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000

  (4)一个季度多少天

  declare @m tinyint,@time smalldatetime

  select @m=month(getdate())

  select @m=case when @m between 1 and 3 then 1

  when @m between 4 and 6 then 4

  when @m between 7 and 9 then 7

  else 10 end

  select @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01'

  select datediff(day,@time,dateadd(mm,3,@time)) —返回92

时间: 2024-10-15 06:13:56

经典SQL自定义函数的相关文章

SQL自定义函数的应用

函数 函数名:GetClassName(@ClassID,@ClassType)参数:@ClassID 类别的ID号,@ClassType,类别的种类 0:语言1:总分类,2:大类别,3:子类别 ,4:国家5:省份6:市县返回:@ClassName类别的名称 nvarchar(100)POWER BY ADPOSTcreate time : 2004年3月24日 14:16:16***********************************************************

php自定义函数的基本语法结构

function 函数名(形参列表) { 函数体; return 语句;} 例:实现一个简单的加.减.乘.除计算器 test.php: <?phprequire 'funcs.php';$num1 = 56;$num2 = 44;$oper = "+";$res = jisuan($num1, $num2, $oper); //调用自定义函数echo "计算结果是:" . $res;?> funcs.php: <?phpfunction jisua

sql-SQL自定义函数传递的参数可以是一列数据或者“向量”吗

问题描述 SQL自定义函数传递的参数可以是一列数据或者"向量"吗 SQL自定义函数传递的参数可以是表中的某个字段的所有数据,类似与C语言中 的"向量"或者数组吗?我在网上查了好多资料,貌似不行,不知道有没有 大牛有变通的办法!我写SQl函数要解决的问题是:把表中某一数值型字段 的数据线性标准化,简单的说就是:某一列的数据的当前值减去最小值除以 该列的最大值与最小值之差! 解决方案 当然,写存储过程是可以的,但是因为有好多表的某个字段要这样处理,楼主不想一个个去改,想

sql-求SQL自定义函数

问题描述 求SQL自定义函数 数据表结构是: stu sub 张三 数学 李四 历史 李四 音乐 李四 英语 张三 音乐 我想查到的结果如下 stu sub 张三 数学,音乐 李四 历史,音乐,英语 求sql 解决方案 select * from students; --SQL分组后拼接字符串 SELECT stu, STUFF(( SELECT ','+ sub FROM Students a WHERE b.stu = a.stu FOR XML PATH('')),1 ,1, '') as

php实现的太平洋时间和北京时间互转的自定义函数分享_php实例

没有什么好说的了,直接上代码吧: /** * 太平洋时间转北京时间 */ public function pacificToPRC($time=''){ date_default_timezone_set('Pacific/Apia'); if(empty($time)){ $time = time(); } date_default_timezone_set('Asia/Shanghai'); $date = date('Y-m-d H:i:s',$time); $time = strtoti

Ado.net Entity Framework 不支持SQLServer自定义函数么?

问题描述 已经在添加表那里一同添加进去了,但是添加后找不到,也没法使用啊varxx=fromRinHDPT.RoomwhereHDPT.自定义函数名(1,R.R_ID)==1selectR;这样不行....还有与其他办法做自定义函数么?使用linq自己做一个c#的函数放上去? 解决方案 解决方案二:映射时将自定义函数一同映射进去,重新生成一下项目解决方案三:试试楼上的办法解决方案四:绝对是隐射进去了的,试了几次了,映射了,对象列表里面找到了自定义函数,但是无法调用,似乎在某个网页上看过aef不支

php自定义函数转换html标签示例_php技巧

本文实例讲述了php自定义函数转换html标签的方法.分享给大家供大家参考,具体如下: <?php /* * Created on 2016-9-29 * */ $orig = "I'll \"walk\" the <b>dog</b> now"; $a = htmlentities($orig); $b = html_entity_decode($a); echo $a; // I'll "walk" the &l

【转】SQL Server 的三种自定义函数(用户定义的函数)

原文链接:http://www.cftea.com/c/2007/08/6HLN4P3VBKA1W2EA.asp   "自定义函数"是我们平常的说法,而"用户定义的函数"是 SQL Server 中书面的说法. SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值. 自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数.可以使用多条 Transact-SQL 语句定义标量值函数. 如果 R

SQL Function 自定义函数详解_MsSql

目录 产生背景(已经有了存储过程,为什么还要使用自定义函数) 发展历史 构成 使用方法 适用范围 注意事项 疑问 内容 产生背景(已经有了存储过程,为什么还要使用自定义函数) 与存储过程的区别(存在的意义): 1.     能够在select等SQL语句中直接使用自定义函数,存储过程不行. 2.     自定义函数可以调用其他函数,也可以调用自己(递归) 3.     可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4.       自定义函数不能有任何副作用.函数副作用是指对