我有一个名为Account Type的数据库,其中包含回车符和换行符(CHAR(10)和CHAR(13)).
当我搜索这个值时,我需要执行REPLACE如下所示的操作.以下代码工作正常.
SELECT AccountNumber,AccountType,
REPLACE(REPLACE(AccountType,CHAR(10),'Y'),CHAR(13),'X') FormattedText
FROM Account
WHERE AccountNumber=200
AND REPLACE(REPLACE(AccountType,CHAR(10),' '),CHAR(13),' ') LIKE
'%Daily Tax Updates: ----------------- Transactions%'
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 需要这样的替换的其他字符(类似于CHAR(10)和CHAR(13))是什么?
注意:列的数据类型是VARCHAR.
注意:查询是从SQL Server Management Studio运行的

可能还有嵌入的标签(CHAR(9))等.您可以通过以下方式找到需要替换的其他角色(我们不知道您的目标是什么):
DECLARE @var NVARCHAR(255), @i INT;
SET @i = 1;
SELECT @var = AccountType FROM dbo.Account
WHERE AccountNumber = 200
AND AccountType LIKE '%Daily%';
CREATE TABLE #x(i INT PRIMARY KEY, c NCHAR(1), a NCHAR(1));
WHILE @i <= LEN(@var)
BEGIN
INSERT #x
SELECT SUBSTRING(@var, @i, 1), ASCII(SUBSTRING(@var, @i, 1));
SET @i = @i + 1;
END
SELECT i,c,a FROM #x ORDER BY i;
Run Code Online (Sandbox Code Playgroud)
您可能还会考虑在数据进入数据库之前更好地清理这些数据.每次需要搜索或显示时清洁它都不是最好的方法.