sqlserver函数,sqlserver函数返回表

sqlserver 中datediff函数怎样实现变量操作

1、datediff函数语法用法:

创新互联建站是一家专注于成都网站设计、网站建设、外贸网站建设与策划设计,雁江网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:雁江等地区。雁江做网站价格咨询:13518219792

表达式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])

允许数据类型: timeinterval 表示相隔时间的类型,代码为:年份 yy、yyyy 季度 qq、q;月份 mm、m;每年的某一日 dy、y;日期 dd、d;星期 wk、ww;工作日 dw;小时 hh;分钟 mi、n;秒 ss、s;毫秒 ms。

2、datediff函数用法示例:

%

fromDate = #9/9/00#

toDate = #1/1/2000#

response.write "There are " _

DateDiff("d",fromDate,toDate) _

" days to millenium from 9/9/00."

%

返回结果: 从9/9/00 到2000年还有 150 天。

C#怎么调用sqlserver的自定义函数

sql server 自定义函数的使用

自定义函数

用户定义自定义函数像内置函数一样返回标量值,也可以将结果集用表格变量返回

用户自定义函数的类型:

标量函数:返回一个标量值

表格值函数{内联表格值函数、多表格值函数}:返回行集(即返回多个值)

1、标量函数

Create function 函数名(参数)

Returns 返回值数据类型

[with {Encryption | Schemabinding }]

[as]

begin

SQL语句(必须有return 变量或值)

End

Schemabinding :将函数绑定到它引用的对象上(注:函数一旦绑定,则不能删除、修改,除非删除绑定)

Create function AvgResult(@scode varchar(10))

Returns real

As

Begin

Declare @avg real

Declare @code varchar(11)

Set @code=@scode + ‘%’

Select @avg=avg(result) from LearnResult_baijiali

Where scode like @code

Return @avg

End

执行用户自定义函数

select 用户名。函数名 as 字段别名

select dbo.AvgResult(‘s0002’) as result

用户自定义函数返回值可放到局部变量中,用set ,select,exec赋值

declare @avg1 real ,@avg2 real ,@avg3 real

select @avg1= dbo.AvgResult(‘s0002’)

set @avg2= dbo.AvgResult(‘s0002’)

exec @avg3= dbo.AvgResult ‘s0002’

select @avg1 as avg1 ,@avg2 as avg2 ,@avg3 as avg3

函数引用

create function code(@scode varchar(10))

returns varchar(10)

as

begin

declare @ccode varchar(10)

set @scode = @scode + ‘%’

select @ccode=ccode from cmessage

where ccode like @scode

return @ccode

end

select name from class where ccode = dbo.code(‘c001’)

2、表格值函数

a、 内联表格值函数

格式:

create function 函数名(参数)

returns table

[with {Encryption | Schemabinding }]

as

return(一条SQL语句)

create function tabcmess(@code varchar(10))

returns table

as

return(select ccode,scode from cmessage where ccode like @ccode)

b、 多句表格值函数

create function 函数名(参数)

returns 表格变量名table (表格变量定义)

[with {Encryption | Schemabinding }]

as

begin

SQL语句

end

多句表格值函数包含多条SQL语句,至少有一条在表格变量中填上数据值

表格变量格式

returns @变量名 table (column 定义| 约束定义 [,…])

对表格变量中的行可执行select,insert,update,delete , 但select into 和 insert 语句的结果集是从存储过程插入。

Create function tabcmessalot (@code varchar(10))

Returns @ctable table(code varchar(10) null,cname varchar(100) null)

As

Begin

Insert @ctable

Select ccode,explain from cmessage

Where scode like @code

return

End

Select * from tabcmessalot(‘s0003’)

来自:

C#调用SQL自定义函数返回值

代码

1 --SQL自定义函数:

2

3 CREATE FUNCTION [GetProjectID] (@headStr nvarchar(10),@date datetime)

4 )

5

6 RETURNS NVARCHAR(200)

7

8 AS

9

10 BEGIN

11

12 --不能在自定义函数中用INSERT INTO

13

14 --insert into emos_cust(cust_name,dates)values(

15

16 --@headStr,@date

17

18 --)

19

20 return 'TEST BY HANSHU'

21 END

代码

1 /// summary

2 /// 获取项目文件编号 涂聚文

3 /// /summary

4 private void FileNo()

5 {

6

7 SqlConnection conn = new SqlConnection(connectionString);

8 string strSql = "GetProjectID"; //自定SQL函数

9 SqlCommand cmd = new SqlCommand(strSql, conn);

10 cmd.CommandType = CommandType.StoredProcedure;

11 cmd.Parameters.Add("@headStr", SqlDbType.NVarChar).Value = "ZQ3"; //输入参数

12 cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = System.DateTime.Now.ToShortDateString(); //输入参数

13 cmd.Parameters.Add("@returnString", SqlDbType.NVarChar);

14 cmd.Parameters["@returnString"].Direction = ParameterDirection.ReturnValue; //返回参数

15 try

16 {

17 conn.Open();

18 object o= cmd.ExecuteScalar();

19

20 this.txtAFileNO.Text = cmd.Parameters["@returnString"].Value.ToString();

21

22 //Response.Write("");

23

24 }

25 catch (Exception ex)

26 {

27

28 this.txtAFileNO.Text = ex.Message;

29

30 }

31 finally

32 {

33

34 if (!(conn.State == ConnectionState.Closed))

35 {

36

37 conn.Close();

38

39

40 }

41

42 }

43

44

45 }

sqlserver存储过程如何调用自定义函数

返回单个值的函数, 可以当变量用, 比如 select dbo.函数名(参数1, 参数2, ...) from ...where abc = dbo.函数名(参数1, 参数2...)

返回表的函数, 可以当数据表来使用, 比如 select * from dbo.函数名(参数1, 参数2, ...)

sqlserver 2000 自定义函数

表值函数这样写(需要先定义一个表,然后向定义的表中插入记录即可)

CREATE function dbo.GetPersonTable(@personID int, @needSelf int)

returns @table table(fielda int,fieldb varchar(10))--定义返回表结构,要与你后面查询中字段一致

begin

if @needSelf = 0

insert into @table SELECT a.* from dbo.v_Person as a

inner join dbo.m_SysUser_Popedom as b on a.i_deptid=b.deptid and b.userid = @personID

else

insert into @table

SELECT a.* from dbo.v_Person as a inner join dbo.m_SysUser_Popedom as b on a.i_deptid=b.deptid and b.userid = @personID

union

select c.* from dbo.v_Person as c where c.personid = @personid

return

end

go

sqlserver里有没有类似indexOf功能的函数

sqlserver中和java中indexof类似的函数是字符串函数中的charindex。

CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。

CHARINDEX函数调用方法如下:

CHARINDEX ( expression1 , expression2 [ , start_location ] )

------------------

一个修改字符串的sql语句用到了charindex,substring等函数的综合使用

update [UpdateString]

set b=

substring(b,0,charindex(',',b,0))+','+

cast(cast(substring(substring(b,charindex(',',b,0)+1,len(b)),

0,charindex(',',substring(b,charindex(',',b,0)+1,len(b)),0)) as int)+2 as varchar)+','+

substring(substring(b,charindex(',',b,0)+1,len(b)),

charindex(',',substring(b,charindex(',',b,0)+1,len(b)),0)+1,

len(substring(b,charindex(',',b,0)+1,len(b))))


本文题目:sqlserver函数,sqlserver函数返回表
分享地址:http://myzitong.com/article/dsseoph.html