关键词:
【中文标题】删除所有空格并将多行合并为 SQL 中的单行【英文标题】:Remove all spaces and combine multiple lines to single line in SQL 【发布时间】:2017-09-14 17:34:56 【问题描述】:在 SQL Server 2014 中从字符串中删除所有空格的最佳方法是什么?
我的字符串是:
Maximize your productivity for building engaging,
beautiful web mapping applications
尝试删除字符串之间的输入和制表符空格以及单词之间的 1 个空格。结果应该是这样的:
Maximize your productivity for building engaging, beautiful web mapping applications
【问题讨论】:
这是一个可重用的用户定义函数的好候选。 查看更新的答案。我删除了 32。没必要 【参考方案1】:你可以使用replace()
,但是有点棘手:
select replace(replace(replace(replace(replace(col, ' ', '<>'
), '
', '<>'
), ' ', '<>' -- tab goes here
), '><', ''
), '<>', ' '
)
from t;
这个想法是将一个空格替换为<>
,然后删除所有><
s,只留下一个。例如:
a b c -- original data with three spaces and one space
a<><><>b<>c -- after replacing spaces with <>
a<>b<>c -- after removing ><
a b c -- after replacing <> with a space
【讨论】:
它适用于例如 X 输入 y 字符串,但对于 X 输入 Y 输入 Z 不起作用【参考方案2】:如果打开一个 UDF,下面将删除所有控制字符和重复空格。
删除重复空格的灵感来自于几个月前 Gordon 的 回答(OK 被盗)。
示例
Declare @S varchar(max) = 'Maximize your productivity for building engaging,
beautiful web mapping applications'
Select [dbo].[svf-Str-Strip-Control](@S)
返回
Maximize your productivity for building engaging, beautiful web mapping applications
有兴趣的 UDF
CREATE FUNCTION [dbo].[svf-Str-Strip-Control](@S varchar(max))
Returns varchar(max)
Begin
Select @S=Replace(@S,char(n),' ')
From (values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20),(21),(22),(23),(24),(25),(26),(27),(28),(29),(30),(31) ) N(n)
Return LTrim(RTrim(Replace(Replace(Replace(@S,' ','><'),'<>',''),'><',' ')))
End
--Select [dbo].[svf-Str-Strip-Control]('Michael '+char(13)+char(10)+'LastName') --Returns: Michael LastName
【讨论】:
删除了值 (32)... 不需要/多余。将多行合并为单行并在DB2中使用sql、Function或...填充缺失值
】将多行合并为单行并在DB2中使用sql、Function或...填充缺失值【英文标题】:Combinemultirowtosinglerowandfillinthemissingvaluebyusingsql,Functionor...inDB2【发布时间】:2019-11-2808:05:51【问题描述】:我需要你的帮助,我下面有原始数据。StudentNa... 查看详情
如何根据一个字段是不是包含oracle sql中的逗号分隔字符串将单行拆分为多行?
...字段是不是包含oraclesql中的逗号分隔字符串将单行拆分为多行?【英文标题】:Howtosplitsinglerowsintomultiplerowsdependingonwhetheronefieldcontainscommaseparatedstringinoraclesql?如何根据一个字段是否包含oraclesql中的逗号分隔字符串将单行拆分为多... 查看详情
java单行注释替换为多行注释(代码片段)
...1a;//+这个是匹配双斜杠加一个空格(.*$)匹配当前剩余的所有替换的时候$0是//$1是注释内容转载:idea将单行注释替换为多行注释_AC即性感-CSDN博客_idea单行注释多行注释匹配正则//+(.*$)替换正则/**\\n 查看详情
SSIS 在不使用 SQL 的情况下将多行合并并连接成单行
】SSIS在不使用SQL的情况下将多行合并并连接成单行【英文标题】:SSISconsolidateandconcatenatemultiplerowsintosinglerowswithoutusingSQL【发布时间】:2020-09-1609:44:54【问题描述】:我正在尝试完成一些在SQL中很容易完成的事情,但在不使用SQL... 查看详情
如何将多行合并为单行,但仅适用于由空行分隔的行块
】如何将多行合并为单行,但仅适用于由空行分隔的行块【英文标题】:Howtomergemultiplelinesintosinglelinebutonlyforblockoflinesseparatedbyblankline【发布时间】:2019-08-2202:29:01【问题描述】:我正在尝试将多行合并为单行,但有附加条件。... 查看详情
从源文件中删除所有注释(单行/多行)和空行[重复]
】从源文件中删除所有注释(单行/多行)和空行[重复]【英文标题】:Removeallcomment(single-/multi-line)&blanklinesfromsourcefile[duplicate]【发布时间】:2012-02-2503:45:39【问题描述】:如何从C#源文件中删除所有cmets和空行。请记住,可能... 查看详情
PostgreSQL:如何将多行的值放在不同的列中,并将所有值合并到一行中?
】PostgreSQL:如何将多行的值放在不同的列中,并将所有值合并到一行中?【英文标题】:PostgreSQL:HowdoItakemultiplerowswithvaluesindifferentcolumnsandcombineintoonerowwithallthevaluesononeline?【发布时间】:2018-11-3002:32:08【问题描述】:这是我目前... 查看详情
SQL中如何将单行数据拆分成多行?
】SQL中如何将单行数据拆分成多行?【英文标题】:HowtosplitthedatainasinglerowintomultiplerowsinSQL?【发布时间】:2021-08-1009:43:53【问题描述】:我有一个格式如下的表格ProjectIDLocationID1[1,2,3,4]2[2,3]我可以将LocationID列中的数据拆分为如下... 查看详情
将单行转换为多行 Bigquery SQL
】将单行转换为多行BigquerySQL【英文标题】:ConvertsinglerowintomultiplerowsBigquerySQL【发布时间】:2020-04-0621:03:31【问题描述】:在bigQuerySQL中将一行转换为多行。行数取决于特定的列值(在本例中为delta_unit/60的值):源表:IDtimedelta_... 查看详情
选择独立行并将它们显示为单行 (ORACLE SQL)
】选择独立行并将它们显示为单行(ORACLESQL)【英文标题】:Selectingindependentrowsanddisplayingthemintoasinglerow(ORACLESQL)【发布时间】:2016-10-0607:28:33【问题描述】:我有一个名为requesttool.request_detail的表,用于存储由REQUEST_ID列中的值标识... 查看详情
将单行拆分为多行 - SQL Server Management Studio 2018
】将单行拆分为多行-SQLServerManagementStudio2018【英文标题】:Splitasinglerowinmultirows-SQLServerManagementStudio2018【发布时间】:2019-07-1706:26:20【问题描述】:我试图将单行拆分为多行但没有成功。任何帮助或提示将不胜感激。表结构结果... 查看详情
如何在 pandas 中仅内爆(explode 的反向)非空值。使用 pandas group by 将多行合并为单行
...pandas中仅内爆(explode的反向)非空值。使用pandasgroupby将多行合并为单行【英文标题】:Howtoimplode(reverseofexplode)onlynon-nullvaluesinpandas.Mergemultiplerowsintosinglerowusingpandasgroupby【发布时间】:2021-11-0903:30:54【问题描述】:我正在研究Pyth... 查看详情
从 SQL Server 中的字符串中删除所有空格
】从SQLServer中的字符串中删除所有空格【英文标题】:RemoveallspacesfromastringinSQLServer【发布时间】:2012-05-1300:14:06【问题描述】:在SQLServer2008中从字符串中删除所有空格的最佳方法是什么?LTRIM(RTRIM(\'ab\'))将删除字符串左右两侧... 查看详情
利用oracle分析函数实现多行数据合并为一行
...分析函数row_number()和sys_connect_by_path来进行sql语句层面的多行到单行的合并并且效率会非常高 基本思路 对deptno进行row_number()按ename排位并打上排位号 selectdeptnoenamerow_number()over(partitionbydeptnoorderbydeptnoename)rank fromempord... 查看详情
如何在 Excel 中将单行拆分为多行(如 SQL 逆透视操作)?
】如何在Excel中将单行拆分为多行(如SQL逆透视操作)?【英文标题】:HowtosplitasinglelineintomultiplelinesinExcel(likeanSQLunpivotoperation)?【发布时间】:2017-09-1417:06:02【问题描述】:我有一张Excel表格,里面有很多数据。我只用几行数据... 查看详情
合并R中的多行
...个参与者有两行一行将有他们对标记为“两者”的条件的所有答案和对条件“x”的答案另一行将有他们对条件的所有答案都标记为“ 查看详情
sql将查询结果为多行一列合并为一行一列
使用sql stuff函数/* stuff(param1,startIndex,length,param2)说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。*/ 示例:select po 查看详情
处理单行的函数
...es03_02.sql中。3.运行les03_02.sql中的查询。4.查询出雇员表中所有员工的姓名、入职时间和工资调整日期(工作6个月之后的第一个星期一)。其格式如下:“1981-09-23”。5.查出每 查看详情