繁体   English   中英

代替 ; SQL中的空白

[英]Replace ; with blank in SQL

我有一张这样的表:

DECLARE @T TABLE
(note VARCHAR (50))

INSERT @T
SELECT 'Amplifier'
UNION ALL SELECT ';'
UNION ALL SELECT 'Regulator'

如何用空白( '' )替换分号( ';' '' )。

预期输出:

Amplifier
''         --  here semicolon replace with blank
Regulator

如果您想从任何输出的单元格中替换所有分号,您可以像这样使用REPLACE

SELECT REPLACE(note,';','') AS [note] FROM @T

从给定的表中获取,使用CASE语句:

SELECT CASE WHEN note = ';' THEN '' ELSE note END AS note FROM @T;

replace()将替换所有出现的字符。 看起来你不想那样。 此表达式仅替换整个字符串的完全匹配项。

看起来您需要替换所有分号:

DECLARE @T TABLE
(note VARCHAR (50))

INSERT INTO @T
SELECT REPLACE(SourceColumn, ';', '')
FROM SourceTable

SQL Server 2017 引入了 TRANSLATE 函数,您可以在其中指定要替换的字符列表

SELECT TRANSLATE('MAX(0,MIN(h-36,8))', '(,-)', '    ') -->'MAX 0 MIN h 36 8 '

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM