字符串反转reverse
2024-09-07 02:41:42
我们有一串字符串,比如:
DECLARE @Source VARCHAR(MAX)= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
现想把它反转显示:
ZYXWVUTSRQPONMLKJIHGFEDCBA
此时,你可以写一个方法来处理:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: Insus.NET
-- Create date: 2019-05-16
-- Update date: 2019-05-16
-- Description: 反转字符
CREATE FUNCTION [dbo].[svf_ReverseString] (
@Source VARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Destination VARCHAR(MAX) = ''
WHILE LEN(@Source) > 0
BEGIN
IF LEN(@Source) = 0
BEGIN
SET @Destination = @Source + @Destination
SET @Source = ''
END
ELSE
BEGIN
SET @Destination = SUBSTRING(@Source, 1, 1) + @Destination
SET @Source = SUBSTRING(@Source, 2, LEN(@Source))
END
END RETURN @Destination
END
GO
Source Code
举例运行上面的方法:
哈哈,一切都是白忙,因为Microsoft 已经提供有一个现型的方法REVERSE:
以上不管是哪一个方法,对下面这种情况进行反转,不知是否OK? 字符串以空格为单词进行反转。
因此,得写另外一个方法来处理:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: Insus.NET
-- Create date: 2019-05-16
-- Update date: 2019-05-16
-- Description: 反转函数
CREATE FUNCTION [dbo].[svf_Reverse] (
@Source VARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Destination VARCHAR(MAX) = '' WHILE LEN(@Source) > 0
BEGIN
IF CHARINDEX(' ', @Source) > 0
BEGIN
SET @Destination = SUBSTRING(@Source, 0, CHARINDEX(' ', @Source)) + ' ' + @Destination
SET @Source = LTRIM(RTRIM(SUBSTRING(@Source, CHARINDEX(' ', @Source) + 1, LEN(@Source))))
END
ELSE
BEGIN
SET @Destination = @Source + ' ' + @Destination
SET @Source = ''
END
END
RETURN @Destination
END
GO
Source Code
最新文章
- 在CentOS或RHEL防火墙上开启端口
- Android获取时间
- iOS开发实用干货——强化你的Xcode控制台
- 2012 Asia JinHua Regional Contest
- UNITY3D使用NGUI制作自适应UI的总结
- 如何讓Android系統顯示CJK擴展區漢字
- XAMPP(v1.83)中的PHP(v5.5.15)访问SQLServer2014
- B计划
- Breadth-first search 算法(Swift版)
- PMP知识点(二)——三点估算的两种方法对活动持续时间估算的影响和如何取舍
- Java探针
- Centos6.8部署jumpserver(完整版)
- java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration] with root cause
- self.location.href
- Zabbix系列之一——zabbix3.4部署
- ​《数据库系统概念》4-DDL、集合运算、嵌套子查询
- php根据命令行参数生成配置文件
- 矩阵分解----Cholesky分解
- CUDA从入门到精通 - Augusdi的专栏 - 博客频道 - CSDN.NET
- linux 转移mysql文件操作流程
热门文章
- mybatis 执行查询时报错 【Error querying database. Cause: java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: 】
- 【题解】cycle
- 我的Java开发学习之旅------>Java经典排序算法之插入排序
- Coin和Token有什么区别
- Memcached的优点
- Database: key
- 3D特效焦点图
- DOM的构建与优化
- CentOS Wifi Connection
- python学习笔记:第八天(模块)