SQl Function 创建函数实例介绍
在SQL中系统已为我们提供了很非常丰富的函数:例:聚会函数avg, sum,count,max,min 日期函数:Day,Month,Year等等 为我们日常开发节省很多时间 但是有一些特殊需求的话SQL 也提供自己创建函数的功能下面举一小例子:需求: 某一订单表 编号,订单号,产品名称 要知道 某一订单号的产品名称 名称之间用逗号(,)隔开 如下图:
我们创建一个标题函数: StrName 创建过程类似创建存储过程 如下:
点击右键创建 表值函数与标量函数 从名称就可以分出来 一个返回表(集合) 标题(单一) 在这个小例子中因为我们只返回名字 所以创建一个标量函数 代码如下:
Create FUNCTION [dbo].[OrderDetailGetStrNameByOrderId] ( @OrderId int ) RETURNS varchar(500) AS BEGIN -- Declare the return variable here declare @StrPassengername varchar(500) set @StrPassengername='' select @StrPassengername=@StrPassengername+ Passengername +', ' from OrderDetail where OrderId=@OrderId select @StrPassengername=substring(@StrPassengername,0,len(@StrPassengername)) -- Return the result of the function RETURN @StrPassengername END
创建好之后在就可以像avg,sum等函数一样的使用 减少代码量 如下
select distinct A.OrderId, (SELECT [dbo].[OrderDetailGetStrNameByOrderId](A.OrderId)) StrName from OrderDetail A
完毕。
相关推荐
-
Sql function 多行中的列合并为一行一列的方法
复制代码 代码如下: CREATE TABLE tb(standards varchar(50), amount varchar(50), variation varchar(50),statuss varchar(50),Reason varchar(50)) insert into tb values('55','279','4','物量积压','加工人员设备不足;T排制作进度较慢;') insert into tb values('55','279','4','物量积压','部件人员不足;
-
Sqlserver 自定义函数 Function使用介绍
一.FUNCTION: 在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,首先总结下他们语法的异同点: 同点: 1.创建定义是一样的: a, CREATE FUNCTION F_NAME(传入的参数名称 传入参数的类型) b,RETURNS 返回值类型 c,AS 异点:1.标量函数返回的是一个数据类型值,内联表值函数返回的是一个table,而多语句返回的是一个table的变量(类似前面两个的结合): 2.语法的结构:标量函数和多语句函数都是要有begin,,
-
SQL Function 自定义函数详解
目录 产生背景(已经有了存储过程,为什么还要使用自定义函数) 发展历史 构成 使用方法 适用范围 注意事项 疑问 内容 产生背景(已经有了存储过程,为什么还要使用自定义函数) 与存储过程的区别(存在的意义): 1. 能够在select等SQL语句中直接使用自定义函数,存储过程不行. 2. 自定义函数可以调用其他函数,也可以调用自己(递归) 3. 可以在表列和 CHECK 约束中使用自定义函数来实现特殊列或约束 4. 自定义函数不能有任何副作用.函数副作用是指对
-
CREATE FUNCTION sqlserver用户定义函数
创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程.用户定义函数不能用于执行一组修改全局数据库状态的操作.与系统函数一样,用户定义函数可以从查询中唤醒调用.也可以像存储过程一样,通过 EXECUTE 语句执行. 用户定义函数用 ALTER FUNCTION 修改,用 DROP FUNCTION 除去. 语法 标量函数 CREATE FUNCTION [ owner_name.] function_name ( [ { @parameter_name [AS] scalar_p
-
MySQL 5.7 create VIEW or FUNCTION or PROCEDURE
1.视图 a. CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY INVOKER VIEW `sakila`.`actor_info` AS SELECT `a`.`actor_id` AS `actor_id`, `a`.`first_name` AS `first_name`, `a`.`last_name` AS `last_name`, GROUP_CONCAT(DISTINCT CONCAT(`
-
MySQL 自定义函数CREATE FUNCTION示例
mysql> mysql> delimiter $$ mysql> mysql> CREATE FUNCTION myFunction -> (in_string VARCHAR(255), -> in_find_str VARCHAR(20), -> in_repl_str VARCHAR(20)) -> -> RETURNS VARCHAR(255) -> BEGIN -> DECLARE l_new_string VARCHAR(25
-
SQl Function 创建函数实例介绍
在SQL中系统已为我们提供了很非常丰富的函数:例:聚会函数avg, sum,count,max,min 日期函数:Day,Month,Year等等 为我们日常开发节省很多时间 但是有一些特殊需求的话SQL 也提供自己创建函数的功能下面举一小例子:需求: 某一订单表 编号,订单号,产品名称 要知道 某一订单号的产品名称 名称之间用逗号(,)隔开 如下图: 我们创建一个标题函数: StrName 创建过程类似创建存储过程 如下: 点击右键创建 表值函数与标量函数 从名称就可以分出来 一个返回表
-
SQL查询排名函数实例
在实际开发中经常会遇到计算某个字段的排名的情况 如下表:totak_sales 现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序 方法: 复制代码 代码如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank FROM Total_Sales a1, Total_Sales a2 WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name
-
SQL中ISNULL函数使用介绍
SQL Server中的isnull()函数: isnull(value1,value2) 1.value1与value2的数据类型必须一致. 2.如果value1的值不为null,结果返回value1. 3.如果value1为null,结果返回vaule2的值.vaule2是你设定的值. 如果在select中就是isnull可以判断是否是null,如果是给个默认值,isnull("字段名","设定默认的数据") 例如:select isnull(分数,0) fr
-
SQL Server分隔函数实例详解
有时候我们在SQL Server中需要对一些字符串进行分隔,比如a,b,c ,按照','进行分割,可以使用下边这个函数方法,新建方法如下: CREATE FUNCTION dbo.f_splitstr(@SourceSql NVARCHAR(MAX),@StrSeprate VARCHAR(100)) RETURNS @temp TABLE(F1 VARCHAR(100)) AS BEGIN DECLARE @ch AS VARCHAR(100) SET @SourceSql=@SourceSq
-
SQL的SUBSTR()函数使用介绍
SUBSTR函数是用来截取数据库某一列字段中的一部分. 在各个数据库的函数名称不一样(真是蛋疼,后发明的数据库难道不能同先发明的一样吗?) 复制代码 代码如下: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) ; 常用的方式是: SBUSTR(str,pos); 就是从pos开始的位置,一直截取到最后. 还有一种比较常用的是: 复制代码 代码如下: SUBSTR(str,pos,len); 这种表
-
php中的explode()函数实例介绍
PHP是功能强大的网站开发工具之一,它包含各种用于各种目的的内置函数,其中explode()函数是一个内置函数,主要用于将字符串拆分为不同的字符串. 含义: explode()函数基于字符串分隔符拆分字符串,即它将字符串拆分为出自分隔符的位置.此函数返回一个数组,其中包含通过拆分原始字符串形成的字符串,我们可以通过访问数组来轻松检索字符串的每个部分 它的语法结构如下: explode(separator,string,limit) separator:表示指定字符串将要分割的关键点,换句话说,只
-
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
本文实例讲述了jQuery 函数用法.分享给大家供大家参考,具体如下: 命名函数 可多次调用. 函数声明: function func(args) {//执行语句}; 例: <script> $(document).ready(function() { //创建一个点击事件 $('img').clikc(show); //show()函数声明 function show() { var info = '<div><h3></h3></div>';
-
Mysql之如何创建函数问题
目录 Mysql如何创建函数 Mysql无法创建函数 错误码 1418 解决方式 总结 Mysql如何创建函数 DELIMITER $$ DROP FUNCTION IF EXISTS genPerson$$ CREATE FUNCTION genPerson(name varchar(20)) RETURNS varchar(50) BEGIN DECLARE str VARCHAR(50) DEFAULT ''; SET @tableName=name; SET str=CONCAT('cr
-
SQL Server创建用户定义函数
一.UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且可以作为一个单元来进行调用. UDF和存储过程的主要区别在于返回结果的方式: 使用UDF时可传入参数,但不可传出参数.输出参数的概念被更为健壮的返回值取代了. 和系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过程中那样只限于整形数据类型,而是可以返回大多数SQL Server数据类型. UDF有以下两种类型: 返回标量值的UDF. 返回表的UDF. 创建语法: CREATE FU
随机推荐
- Linux系统下如何查看及修改文件读写权限
- iOS中利用CAEmitterLayer实现粒子动画详解
- .NET发起web请求时维持Session
- CloudStack 安装及使用过程中常见问题汇总
- ThinkPHP连接数据库的方式汇总
- PHP在线生成二维码(google api)的实现代码详解
- Python3 正在毁灭 Python的原因分析
- 在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
- C#使用foreach遍历哈希表(hashtable)的方法
- 快速增加MYSQL数据库连接数负载能力的方法分享
- 原生js获取元素样式的简单方法
- php实现遍历目录并删除指定文件中指定内容
- Flask框架的学习指南之开发环境搭建
- python入门教程之识别验证码
- jQuery-onload让第一次页面加载时图片是淡入方式显示
- js 数组去重的四种实用方法
- Android 下载并打开PDF,Doc,Dwg文档实例
- iscroll动态加载数据完美解决方法
- C#搜索TreeView子节点,保留父节点的方法
- PHP-FPM运行状态的实时查看及监控详解