字符串中去除多余的空格保留一个(MS SQL Server)
2024-09-29 06:36:13
大约2年前,写过一篇《字符串中去除多余的空格保留一个(C#)》https://www.cnblogs.com/insus/p/7954151.html
今天,Insus.NET使用MS SQL Server来实现相同的功能。现Insus.NET已经把它写成一个自定义函数。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Insus.NET
-- Create date: 2019-05-13
-- Update date: 2019-05-13
-- Description: 保留一个空格
-- =============================================
CREATE FUNCTION [dbo].[svf_Leave_A_Space]
(
@InputString NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Index INT = 1
DECLARE @CurrentChar CHAR(1)
DECLARE @PreviousChar CHAR(1)
DECLARE @Str NVARCHAR(MAX) = N'' WHILE @Index <= LEN(@InputString)
BEGIN
SET @CurrentChar = SUBSTRING(@InputString, @Index, 1)
SET @PreviousChar = SUBSTRING(@InputString, @Index - 1, 1) IF @CurrentChar != ' ' OR @CurrentChar != @PreviousChar
SET @Str = @Str + CAST(@CurrentChar AS NVARCHAR(MAX)) SET @Index = @Index + 1
END
RETURN @Str
END
GO
Source Code
使用一个例子来说明:
最新文章
- exec
- 基础笔记5(file)
- [ArcEngine]Geotransformation地理变换
- 夺命雷公狗---微信开发53----网页授权(oauth2.0)获取用户基本信息接口(3)实现世界留言版
- 【BZOJ】【1269】【AHOI2006】文本编辑器editor
- stringstream实例
- 转载一个不错的Scrapy学习博客笔记
- BitMask 使用参考
- Benchmark与Profiler---性能调优得力助手
- Android: Fragment (Trying to instantiate a class that is not a Fragment)
- vue学习笔记 样式 class style(五)
- Apache常用配置
- 第一节mysql 安装
- Maven Install报错:Perhaps you are running on a JRE rather than a JDK?
- 非递归并查集——zoj4109
- Java当中的IO一
- Gatling实战(二)
- git format-patch制作内核补丁
- 【2】static 、construct
- 正点原子stm32f103mini版串口下载BOOT0引脚与与CH340G芯片引脚RTS、DTR、的关系原理