Я пробовал
UPDATE TABLENAME SET COLUMNNAME = REPLACE(COLUMNNAME, '\t', '')
Но я не знаю, как написать TAB в t-sql
Я пробовал
UPDATE TABLENAME SET COLUMNNAME = REPLACE(COLUMNNAME, '\t', '')
Но я не знаю, как написать TAB в t-sql
Код ASCII для вкладки - 9; вы можете попробовать
update tablename set columnname = replace(columnname, char(9), '')
Для TAB
и ENTER
SELECT
-- TRIM AND REPLACE 'TAB' AND 'ENTER'
LTRIM(RTRIM(
REPLACE(
REPLACE(
REPLACE(columnname, CHAR(9), ' '),
CHAR(13), ' '),
CHAR(10), ' ')
))
В начале моих TSql sProcs я часто ставил
Declare @nl Char(2) = char(13) + char(10)
Declare @tab Char(1) = char(9)
etc...
Затем вы можете использовать эти объявленные переменные где угодно в остальной части proc без потери ясности...
Вы можете поместить символ табуляции в строку, просто нажмите клавишу табуляции.
Это будет работать, но оно не очень читаемо.
Я нашел решение:
В T-SQL вы не избегаете символов, вы вставляете или вводите их непосредственно в кавычки. Он работает даже для \r\n (возврат каретки, новая строка = вы нажимаете клавишу ввода)
Оформить заказ этой функции. Это удалит все недействительные символы
-- =============================================
-- Author: xenoivan
-- Description: clean invalid chars
-- =============================================
CREATE FUNCTION [dbo].[fnClean]
(
@in NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
-- Declare the return variable here
DECLARE @out NVARCHAR(MAX)
-- Add the T-SQL statements to compute the return value here
SELECT @out = REPLACE(@in,N'َ','')
SELECT @out = REPLACE(@out,char(9),'')
SELECT @out = REPLACE(@out,char(13),'')
SELECT @out = REPLACE(@out,char(10),'')
SELECT @out = REPLACE(@out,N'','')
SELECT @out = REPLACE(@out,N'','')
SELECT @out = REPLACE(@out,N'','')
SELECT @out = REPLACE(@out,N'', '')--its a hidden character
SELECT @out = REPLACE(@out,N'', '')--ltr code
SELECT @out = REPLACE(@out,N'', '')--rtl code
SELECT @out = REPLACE(@out,N'۰', '0')
SELECT @out = REPLACE(@out,N'۱', '1')
SELECT @out = REPLACE(@out,N'۲', '2')
SELECT @out = REPLACE(@out,N'۳', '3')
SELECT @out = REPLACE(@out,N'۴', '4')
SELECT @out = REPLACE(@out,N'۵', '5')
SELECT @out = REPLACE(@out,N'۶', '6')
SELECT @out = REPLACE(@out,N'۷', '7')
SELECT @out = REPLACE(@out,N'۸', '8')
SELECT @out = REPLACE(@out,N'۹', '9')
SELECT @out = REPLACE(@out,N'٠', '0')
SELECT @out = REPLACE(@out,N'١', '1')
SELECT @out = REPLACE(@out,N'٢', '2')
SELECT @out = REPLACE(@out,N'٣', '3')
SELECT @out = REPLACE(@out,N'٤', '4')
SELECT @out = REPLACE(@out,N'٥', '5')
SELECT @out = REPLACE(@out,N'٦', '6')
SELECT @out = REPLACE(@out,N'٧', '7')
SELECT @out = REPLACE(@out,N'٨', '8')
SELECT @out = REPLACE(@out,N'٩', '9');
-- Return the result of the function
RETURN @out
END