1
A
回答
1
您可以使用T-SQL REPLACE:
REPLACE(FieldWithStars,'*','STAR')
在超過一個替代,你可以使用級聯REPLACE語句。
雖然關於子彈點沒有線索 - 但你應該能夠替換任何尋找特定字符的正確轉義序列的東西。
+1
請注意在32的級聯停止。如果有更多的字符被替換,你應該編程一個循環,直到... – Ice
-2
***** Replacing special character by normal character eg ó by o,ê by e etc ***
create proc dbo.specialcharacterreplacer
@tblname varchar(1000),
@column_name varchar(1000)
as
begin
--declare @obj VARCHAR(MAX),
--set @obj= 'select *from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '@tblname''
--exec @obj
declare @Sql VARCHAR(MAX)
set @Sql = '
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ó'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ò'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ö'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ð'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ô'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''õ'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ó'''+ ', '+'''o'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ó'''+ ', '+'''o'''+')
update ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''×'''+ ', '+'''x'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''f'''+ ', '+'''f'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ò'''+ ', '+'''O'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ó'''+ ', '+'''O'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ô'''+ ', '+'''O'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Õ'''+ ', '+'''O'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ö'''+ ', '+'''O'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ñ'''+ ', '+'''n'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ñ'''+ ', '+'''N'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''è'''+ ', '+'''e'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''é'''+ ', '+'''e'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ê'''+ ', '+'''e'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ë'''+ ', '+'''e'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''È'''+ ', '+'''E'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''É'''+ ', '+'''E'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ê'''+ ', '+'''E'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ë'''+ ', '+'''E'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''á'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ã'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''â'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''à'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ä'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''å'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ª'''+ ', '+'''a'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''æ'''+ ', '+'''ae'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''À'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Á'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Â'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ã'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Å'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ä'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Æ'''+ ', '+'''A'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''æ'''+ ', '+'''AE'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ù'''+ ', '+'''u'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ú'''+ ', '+'''u'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''û'''+ ', '+'''u'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ü'''+ ', '+'''u'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''µ'''+ ', '+'''u'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ù'''+ ', '+'''U'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ú'''+ ', '+'''U'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Û'''+ ', '+'''U'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ü'''+ ', '+'''U'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ý'''+ ', '+'''Y'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ÿ'''+ ', '+'''Y'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ÿ'''+ ', '+'''y'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ý'''+ ', '+'''y'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''þ'''+ ', '+'''þ'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ç'''+ ', '+'''C'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ç'''+ ', '+'''c'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''œ'''+ ', '+'''ce'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Œ'''+ ', '+'''CE'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ì'''+ ', '+'''I'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Í'''+ ', '+'''I'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Î'''+ ', '+'''I'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ï'''+ ', '+'''I'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ì'''+ ', '+'''i'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''í'''+ ', '+'''i'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''î'''+ ', '+'''i'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ï'''+ ', '+'''i'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Ð'''+ ', '+'''D'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Þ'''+ ', '+'''D'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''ß'''+ ', '+'''B'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''Š'''+ ', '+'''S'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''š'''+ ', '+'''s'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''§'''+ ', '+'''S'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]umn_name + ', ' + '''½'''+ ', '+'''1/2'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''¼'''+ ', '+'''1/4'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''¾'''+ ', '+'''3/4'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''©'''+ ', '+'''Copyright '''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''®'''+ ', '+'''Registered trademark '''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''‰'''+ ', '+'''%'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''¿'''+ ', '+'''?'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''º'''+ ', '+'''0'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''¹'''+ ', '+'''1'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''²'''+ ', '+'''2'''+')
UPDATE ' + @tblname + ' SET ' + @column_name+ ' = REPLACE('[email protected]_name + ', ' + '''³'''+ ', '+'''3'''+')
' -- add your special character here inside
exec (@sql)
end
go
EXEC dbo.specialcharacterreplacer @tblname = 'insert tablename here', @column_name ='insert columnname here'
0
這是一個遲到的回答,但更換時涉及大量令牌和/或它們的管理必須處理的腳本之外(即從UI)可能會有所幫助。此外,不建議使用邏輯混合數據(搜索/替換令牌是硬編碼的)。
由於aggregate replacements不起作用(UPDATE
對記錄執行一次掃描),所以我使用了一個函數來爲每個字符串實際執行聚合更新)。我希望比傳統解決方案的性能更低,但它具有上述優點:
-- function to perform the replacements
CREATE FUNCTION dbo.ReplaceFromTable (@s NVARCHAR(4000))
RETURNS NVARCHAR(4000)
AS
BEGIN
DECLARE @Ret NVARCHAR(4000) = @s
SELECT @Ret = REPLACE(@Ret, R.SearchToken, R.ReplaceToken)
FROM dbo.Replacements R
RETURN @Ret
END
GO
-- drop table dbo.Replacements
create table dbo.Replacements
(
SearchToken NVARCHAR(32) NOT NULL,
ReplaceToken NVARCHAR(32) NOT NULL
)
GO
insert into dbo.Replacements values (N'ó', N'o'), (N'ò', N'o'), (N'*', N' ')
GO
select * from dbo.Replacements
go
-- drop table dbo.Strings
create table dbo.Strings
(
StringId INT NOT NULL,
String NVARCHAR(128) NOT NULL
)
GO
insert into Strings values (1, N'Some dummy string'), (2, N'Nòthing really'), (3, N'Nóthing new under the Sun'), (4, N'**Earth**')
GO
select * from dbo.Strings
GO
UPDATE S
SET S.String = dbo.ReplaceFromTable(S.String)
FROM dbo.Strings S
GO
select * from dbo.Strings
相關問題
- 1. sql server 2000:TSQL特殊字符處理
- 2. 替換特殊字符php
- 3. 特殊字符替換爲'?'
- 4. 特殊字符替換
- 5. Makefile替換特殊字符
- 6. Javascript替換特殊字符
- 7. python替換特殊字符
- 8. asp.net替換特殊字符「\」
- 9. 特殊字符替換
- 10. PHP替換特殊字符
- 11. 替換特殊字符?
- 12. Java替換特殊字符
- 13. powershell替換特殊字符
- 14. 替換特殊字符
- 15. javascript替換特殊字符
- 16. Javascript:str替換特殊字符
- 17. 替換Java中的特殊字符
- 18. 替換excel中的特殊字符
- 19. 替換PowerShell中的特殊字符
- 20. 替換Teradata中的特殊字符
- 21. 替換PHP中的特殊字符串
- 22. 有特殊字符替換字符
- 23. 用特殊字符替換字符串
- 24. 特殊的字符符號替換「」」
- 25. 用字符串中的其他特殊字符替換特殊字符
- 26. 在多個字段中替換多個特殊字符SQL
- 27. 如何替換PL/SQL中的一個特殊的Unicode字符
- 28. 的Java的replaceAll替換特殊字符
- 29. 數字和特殊字符不替換
- 30. 用字符串c中的unicode字符替換特殊字符#
您是用SQL還是將其替換爲將要裝入數據庫的文件? – ajdams
我正在寫一個存儲過程,將取代這些字符; – DotNetRookie