小编Shi*_*ine的帖子

如何执行表值函数

我有以下函数返回表.

create Function FN(@Str varchar(30))
  returns
  @Names table(name varchar(25))
  as 
  begin 

      while (charindex(',', @str) > 0)
      begin
      insert into @Names values(substring(@str, 1, charindex(',', @str) - 1))
     set  @str = substring(@str, charindex(',', @str) + 1, 100)  
      end
      insert into @Names values(@str)  

      return
  end
Run Code Online (Sandbox Code Playgroud)

请问任何人请解释我如何运行此功能.

sql t-sql sql-server sql-server-2008

60
推荐指数
2
解决办法
13万
查看次数

"TRIM"不是公认的内置函数名称

我创造了简单的功能

create function TRIM(@data varchar(20)) returns varchar(100)
as
begin
  declare @str varchar(20)
  set @str = rtrim(ltrim(@data))
  return @str
end
Run Code Online (Sandbox Code Playgroud)

我正在以下面的方式执行.

declare @s varchar(25)
set @s = '      Amru    '
select TRIM(@s)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Msg 195, Level 15, State 10, Line 3
'TRIM' is not a recognized built-in function name.
Run Code Online (Sandbox Code Playgroud)

有人可以帮我找到问题吗?

sql sql-server-2008

17
推荐指数
3
解决办法
5万
查看次数

有子句时出错

select SUM (Bill) from ProductSaleReport group by PCI 
having MONTH(Date) between 1 and 3
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我找到问题.

我收到错误:

消息8121,级别16,状态1,行1
列'ProductSaleReport.Date'在HAVING子句中无效,因为它不包含在聚合函数或GROUP BY子句中.
消息8121,级别16,状态1,行1
列'ProductSaleReport.Date'在HAVING子句中无效,因为它不包含在聚合函数或GROUP BY子句中.

sql sql-server

7
推荐指数
2
解决办法
2万
查看次数

我们可以更新视图中的数据吗?

  1. 我们可以更新视图中的数据.如果是这样,它是否会反映实际表中的数据.
  2. 如果在该表上创建的视图存在,我们可以删除该表吗?

任何人都可以向我解释上述内容.我对上述概念感到困惑.

sql-server

5
推荐指数
1
解决办法
3226
查看次数

如何恢复不同名称的备份

我如何通过下面的脚本恢复具有不同名称的下面的 Amrutha 备份。任何人都可以帮我做这件事吗?

RESTORE database Amrutha
    FROM DISK = 'D:\Amrutha.bak'
    WITH 
    MOVE 'Amrutha' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Amrutha.mdf',
    MOVE 'Amrutha_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\Amrutha_log.LDF',
    CHECKSUM;
Run Code Online (Sandbox Code Playgroud)

sql-server-2008

1
推荐指数
1
解决办法
5458
查看次数

函数未返回最大值

我写了下面的函数来返回最大日期

Alter function MAXdate(@DATE1 date,@DATE2 date,@DATE3 date)
returns date
as
begin
       declare @max as date
       set @max = ''

       if(@DATE1> @DATE2)
       set @max = @DATE1
       else
       set @max = @DATE2

       if(@max >@DATE3)
       set @max= @DATE3

   return @max   
end
Run Code Online (Sandbox Code Playgroud)

但是当我执行该功能时,我没有获得最大值

select dbo.MAXdate('9/8/2008','12/1/2008','3/3/2008')
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我分析一下,为什么我没有获得最大价值?

sql sql-server-2008

0
推荐指数
1
解决办法
289
查看次数

标签 统计

sql ×4

sql-server-2008 ×4

sql-server ×3

t-sql ×1