我有以下函数返回表.
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)
请问任何人请解释我如何运行此功能.
我创造了简单的功能
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)
有人可以帮我找到问题吗?
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子句中.
任何人都可以向我解释上述内容.我对上述概念感到困惑.
我如何通过下面的脚本恢复具有不同名称的下面的 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) 我写了下面的函数来返回最大日期
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)
任何人都可以帮我分析一下,为什么我没有获得最大价值?