未使用T-SQL从函数中获取所需输出
我使用T-SQL创建了一个小函数,它将一个输入参数作为电话号码并从中返回区号。函数成功编译,但只获取电话号码的第一位数字,而不是三位数字 请参阅以下代码:-未使用T-SQL从函数中获取所需输出,sql,sql-server,function,tsql,Sql,Sql Server,Function,Tsql,我使用T-SQL创建了一个小函数,它将一个输入参数作为电话号码并从中返回区号。函数成功编译,但只获取电话号码的第一位数字,而不是三位数字 请参阅以下代码:- create or alter function getareacode (@phoneno as nvarchar) returns nvarchar(10) with schemabinding as begin declare @areacode as nvarchar(10); select top(1) @areacod
create or alter function getareacode (@phoneno as nvarchar)
returns nvarchar(10)
with schemabinding
as
begin
declare @areacode as nvarchar(10);
select top(1) @areacode = value from string_split(@phoneno,'-');
return @areacode;
end;
select dbo.getareacode( N'123-456-789');
(@phoneno作为nvarchar)
将仅生成第一个字符
试一试
但是,拆分可能不是必需的
尝试以下方法。这可能更有效
Declare @S nvarchar(50) = '123-456-789'
Select left(replace(replace(replace(@S,'-',''),'(',''),')',''),3)
(@phoneno作为nvarchar)
将仅生成第一个字符
试一试
但是,拆分可能不是必需的
尝试以下方法。这可能更有效
Declare @S nvarchar(50) = '123-456-789'
Select left(replace(replace(replace(@S,'-',''),'(',''),')',''),3)
LEFT(@phoneno,PATINDEX('%-%,@phoneno)-1)
还可以在第一个-
LEFT(@phoneno,PATINDEX('%-%,@phoneno)-1)
还可以在第一个-