sql-server – 使用T-SQL测试字符串是否为回文结构
发布时间:2021-05-23 21:17:24 所属栏目:MsSql教程 来源:网络整理
导读:我是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; (编辑:汉中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- entity-framework-4 – 如何使用SQL Compact 4首先使用Enti
- sql语句优化规则是什么?sql语句编写需要注意什么问题?
- SQL Server实现纵表转横表的方法是什么?
- SQL Server调用存储过程的方式有什么?怎样实现?
- sql-server – 模仿group_concat()与GROUP BY结合使用
- sql ntext数据类型字符替换实现操作
- SQL分隔函数用法是什么?详解分隔函数示例
- sql-server – SQL Server存储过程避免游标
- sqlserver得到当前日期的最大时间值
- sql-server – 未记录的CONVERT样式 – datetime 23