加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 使用T-SQL测试字符串是否为回文结构

发布时间:2021-05-24 07:03:09 所属栏目:编程 来源:网络整理
导读:我是T-SQL的初学者.我想确定输入字符串是否是回文布局,假如不是则输出= 0,假如是,则输出= 1.我还在弄清晰语法.我乃至没有收到错误动静.我正在探求差异的办理方案和一些反馈,以便更好地领略和相识T-SQL怎样事变,变得更好 – 我如故是门生. 正如我所看到的,要害

我是T-SQL的初学者.我想确定输入字符串是否是回文布局,假如不是则输出= 0,假如是,则输出= 1.我还在弄清晰语法.我乃至没有收到错误动静.我正在探求差异的办理方案和一些反馈,以便更好地领略和相识T-SQL怎样事变,变得更好 – 我如故是门生.

正如我所看到的,要害的设法是将阁下两个字符彼此较量,搜查是否相称,然后继承较量左边的第二个字符和最后一个字符,等等.我们做一个轮回:假如脚色相相互等,我们继承.假如我们达到终点,我们输出1,假如不是,我们输出0.

请你品评:

CREATE function Palindrome(
    @String  Char,@StringLength  Int,@n Int,@Palindrome BIN,@StringLeftLength  Int
)
RETURNS Binary
AS
BEGIN
SET @ n=1
SET @StringLength= Len(String)

  WHILE @StringLength - @n >1

  IF
  Left(String,@n)=Right(String,@StringLength)

 SET @n =n+1
 SET @StringLength =StringLength -1

 RETURN @Binary =1

 ELSE RETURN @Palindrome =0

END

我以为我走在正确的轨道上,但我尚有很长的路要走.有任何设法吗?

办理要领

假如您行使的是SQL Server,可以行使 REVERSE()成果举办搜查吗?
SELECT CASE WHEN @string = REVERSE(@String) THEN 1 ELSE 0 END AS Palindrome;

包罗Martin Smith的评述,假如你在SQL Server 2012上,你可以行使IIF()成果:

SELECT IIF(@string = REVERSE(@String),1,0) AS Palindrome;

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读