sql server 函数

1.Fun_Split 分割字符串,形成返回表

CREATE FUNCTION [dbo].[Fun_Split]
(
    @Items VARCHAR(MAX),
    @SplitStr VARCHAR(MAX)
)
RETURNS @SplitTable TABLE(Item VARCHAR(MAX))
AS
BEGIN
    DECLARE @Split_Index INT=0;
    DECLARE @Split_len INT=0;
    SET @Items = RTRIM(LTRIM(@Items));
    SET @Split_Index = CHARINDEX(@SplitStr,@Items);
    SET @Split_len=LEN(@SplitStr);
    WHILE(@Split_Index>=1)
    BEGIN
        INSERT INTO @SplitTable VALUES(LEFT(@Items,@Split_Index-1));
        SET @Items = SUBSTRING(@Items,@Split_Index + @Split_len,LEN(@Items)-@Split_Index);
        SET @Split_Index = CHARINDEX(@SplitStr,@Items);
    END
    IF(@Items<>‘‘)
        INSERT INTO @SplitTable VALUES(@Items);
    RETURN
END

2.Fun_arrlen 分割字符串,返回长度

CREATE FUNCTION [dbo].[Fun_arrlen]
(
    @Str varchar(max),
    @SplitStr varchar(max)
)
RETURNS int
AS
begin
     Declare @i Int
     Set @i = (Len(@Str) - Len(Replace(@Str,@SplitStr,‘‘)))/Len(@SplitStr) +1
     Return(@i)
end

3.Fun_GetStrIndex 模拟数组获取值

CREATE FUNCTION [dbo].[Fun_GetStrIndex]
(
    @Str varchar(max),
    @SplitStr varchar(max),
    @index int
)
RETURNS varchar(max)
AS
begin
    declare @location int
    declare @start int
    declare @next int
    declare @seed int

    set @str=ltrim(rtrim(@str))
    set @start=0
    set @next=0
    set @seed=len(@SplitStr)

    set @location=charindex(@SplitStr,@str)
    while @location<>0 and @index>@next
    begin
        set @start=@location+@seed
        set @location=charindex(@SplitStr,@str,@start)
        set @next=@next+1
    end
    if @location =0 select @location =len(@str)+1
    return substring(@str,@start,@location-@start);
end

运行结果:

时间: 2024-08-06 16:50:33

sql server 函数的相关文章

SQL Server函数大全

SQL Server函数大全 SQL Server中的函数对于提高查询的工作效率起到了非常突出的作用.善于在查询工作或开发工作中利用好SQL函数,将对工作有很大的帮助,同时也会大大提升工作的效率.但是由于SQL函数种类众多.所以在使用的时候往往会无法全部理解它们的含义和用法.下面将详细对SQL函数的含义和使用方法做一个比较系统的介绍: 在实际工作中,select语句中只能使用SQL函数对字段进行操作,常见的函数可以分为以下几大类: 1.字符转换函数 1)ASCII() 返回字符表达式最左端字符的

SQL Server2008为表的某列设置默认值为SQL Server函数

  例如,设置SQL Server函数GETDATE()作为默认值: SQL Server2008为表的某列设置默认值为SQL Server函数

Sql Server函数和存储过程

SQL Server函数是一种封装一条或多条SQL语句的结构. SQL Server函数分为系统函数和用户自定义函数两种. 标量值函数:标量值函数的返回值是基本数据类型的单个值或单个值得表达式. 函数体既可以是一条语句,也可以是多条语句. 创建标量值函数 语法: CREATE FUNCTION [schema_name.]function_name([{@parameter_name parameter_data_type[=default_value]}[...n]])RETURNS retu

sql server 函数的自定义

创建用户定义函数.这是一个已保存 Transact-SQL 或公共语言运行时 (CLR) 例程,该例程可返回一个值.用户定义函数不能用于执行修改数据库状态的操作.与系统函数一样,用户定义函数可从查询中调用.标量函数和存储过程一样,可使用 EXECUTE 语句执行. 用户定义函数可使用 ALTER FUNCTION 修改,使用 DROP FUNCTION 删除. Transact-SQL 语法约定 语法 Scalar Functions CREATE FUNCTION [ schema_name.

Sql Server函数全解&lt;四&gt;日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

SQL Server 函数的使用 Function

create table student ( id varchar2(5) primary key, name varchar2(20), not null, sex char(2) check(sex='男' or sex='女') ) --向student中插入一条数据,用函数来验证插入是否正确 create or replace function (f_id in varchar2,f_name in varchar2,sex in varchar2) return varchar2 is

Sql Server函数全解&lt;五&gt;之系统函数

原文:Sql Server函数全解<五>之系统函数  系统信息包括当前使用的数据库名称,主机名,系统错误消息以及用户名称等内容.使用SQL SERVER中的系统函数可以在需要的时候获取这些信息.下面介绍系统函数的作用和使用方法. 1.返回表中指定字段的长度   COL_LENGTH(table,column)函数返回表中指定字段的长度值.其返回值为int类型,table为要确定其列长度信息的表的名称,是nvarchar类型的表达式.column为要确定其长度的列的名称,是nvarchar类型的

SQL Server 函数之日期格式化函数

SQL Server 函数之日期格式化函数 高文龙关注0人评论612人阅读2017-09-23 13:47:07 对于一些经常写SQL Server执行语句的同学来说,日期格式化函数的掌握及应用非常重要,今天我们主要来列举一些经常使用的日期时间格式化函数,具体见下: 我们可以通过SSMS执行新建查询查看执行结果:其实我们最常见也最常用的两种格式: 当前的日期+时间 Select CONVERT(varchar(100), GETDATE(), 120) 当前系统的日期 Select CONVER

Sql Server函数全解&lt;三&gt;数据类型转换函数和文本图像函数

一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士转换就无法实现了,此时必须使用显示转换.为了实现这种显示转换,T-SQL提供了两个显示转换函数,分别是CAST和CONVERT函数. CAST(x AS type)和CONVERT(type,x)函数将一个类型的值转换为另一个类型的值.eg: select CAST('121231' AS DATE

SQL Server(函数) 关键字的使用 三

三, 函数关键字 -- 使用介绍 28, Function的使用(Function的内建 SQL函数)? 内建 SQL 函数的语法是: SELECT function(列) FROM 表) 29, avg() 的使用(avg() 返回列的平均值) AVG 函数返回数值列的平均值.NULL 值不包括在计算中. SELECT AVG(column_name) FROM table_name 30, count()的使用(count()的指定列的数目) COUNT(column_name) 函数返回指