如何在sql中修改从select检索的数据?
假设我的数据中有一些不需要的字符,例如customers表中的name列的数据为<,是否有必要修改这些字符,例如“之类的如何在sql中修改从select检索的数据?,sql,Sql,假设我的数据中有一些不需要的字符,例如customers表中的name列的数据为
SELECT REPLACE(REPLACE(a.name,'<', ''), '>','')
FROM ...
选择替换(替换(a.name,,“”)
从…起
类似于
SELECT REPLACE(REPLACE(a.name,'<', ''), '>','')
FROM ...
选择替换(替换(a.name,,“”)
从…起
类似于
SELECT REPLACE(REPLACE(a.name,'<', ''), '>','')
FROM ...
选择替换(替换(a.name,,“”)
从…起
类似于
SELECT REPLACE(REPLACE(a.name,'<', ''), '>','')
FROM ...
选择替换(替换(a.name,,“”)
从…起
以下是示例
选择替换(列名,,'')为C
来自联系人
其中替换(列名,,'')如“which”
希望这有帮助以下是示例
选择替换(列名,,'')为C
来自联系人
其中替换(列名,,'')如“which”
希望这有帮助以下是示例
选择替换(列名,,'')为C
来自联系人
其中替换(列名,,'')如“which”
希望这有帮助以下是示例
选择替换(列名,,'')为C
来自联系人
其中替换(列名,,'')如“which”
希望这有帮助编写一个函数来删除特殊字符可能会更好。在这里,该函数将替换任何看起来不像
a-z、a-z(如果区分大小写)、0-9和空格的字符。
。如果需要,可以添加更多字符。
例如,如果要保留句号(.),请使用'[^a-zA-Z0-9.]'
功能:
CREATE FUNCTION ufn_RemoveSpecialCharacters
(
@String VARCHAR(500),
@Exclude VARCHAR(100),
@CollapseSpaces BIT
)
RETURNS VARCHAR(500)
AS
BEGIN
DECLARE @StartString INT,
@EndString INT,
@FinalString VARCHAR(500),
@CurrentString CHAR(1),
@PreviousString CHAR(1)
SET @StartString = 1
SET @EndString = LEN(ISNULL(@String, ''))
WHILE @StartString <= @EndString
BEGIN
SET @CurrentString = SUBSTRING(@String, @StartString, 1)
SET @PreviousString = SUBSTRING(@String, @StartString-1, 1)
IF @CurrentString LIKE ISNULL(@Exclude,'[^a-zA-Z0-9 ]')
BEGIN
SET @CurrentString = ''
IF @CollapseSpaces = 1
SET @FinalString = CASE WHEN @PreviousString = CHAR(32) THEN ISNULL(@FinalString, '') ELSE ISNULL(@FinalString, '')+' ' END
END
ELSE
BEGIN
SET @FinalString = ISNULL(@FinalString, '') + @CurrentString
IF @CollapseSpaces = 1
BEGIN
SET @FinalString = REPLACE(@FinalString,' ',' ')
END
END
SET @StartString = @StartString + 1
END
--PRINT @String
RETURN LTRIM(RTRIM(@FinalString))
END
GO
折叠多个空间
SELECT dbo.ufn_RemoveSpecialCharacters('This #$%string has#$% special #$% characters and spaces))', '[^a-zA-Z0-9 ]', 1)
最好编写一个函数来删除特殊字符。在这里,该函数将替换任何看起来不像
a-z、a-z(如果区分大小写)、0-9和空格的字符。如果需要,可以添加更多字符。
例如,如果要保留句号(.),请使用'[^a-zA-Z0-9.]'
功能:
CREATE FUNCTION ufn_RemoveSpecialCharacters
(
@String VARCHAR(500),
@Exclude VARCHAR(100),
@CollapseSpaces BIT
)
RETURNS VARCHAR(500)
AS
BEGIN
DECLARE @StartString INT,
@EndString INT,
@FinalString VARCHAR(500),
@CurrentString CHAR(1),
@PreviousString CHAR(1)
SET @StartString = 1
SET @EndString = LEN(ISNULL(@String, ''))
WHILE @StartString <= @EndString
BEGIN
SET @CurrentString = SUBSTRING(@String, @StartString, 1)
SET @PreviousString = SUBSTRING(@String, @StartString-1, 1)
IF @CurrentString LIKE ISNULL(@Exclude,'[^a-zA-Z0-9 ]')
BEGIN
SET @CurrentString = ''
IF @CollapseSpaces = 1
SET @FinalString = CASE WHEN @PreviousString = CHAR(32) THEN ISNULL(@FinalString, '') ELSE ISNULL(@FinalString, '')+' ' END
END
ELSE
BEGIN
SET @FinalString = ISNULL(@FinalString, '') + @CurrentString
IF @CollapseSpaces = 1
BEGIN
SET @FinalString = REPLACE(@FinalString,' ',' ')
END
END
SET @StartString = @StartString + 1
END
--PRINT @String
RETURN LTRIM(RTRIM(@FinalString))
END
GO
折叠多个空间
SELECT dbo.ufn_RemoveSpecialCharacters('This #$%string has#$% special #$% characters and spaces))', '[^a-zA-Z0-9 ]', 1)
最好编写一个函数来删除特殊字符。在这里,该函数将替换任何看起来不像a-z、a-z(如果区分大小写)、0-9和空格的字符。如果需要,可以添加更多字符。
例如,如果要保留句号(.),请使用'[^a-zA-Z0-9.]'
功能:
CREATE FUNCTION ufn_RemoveSpecialCharacters
(
@String VARCHAR(500),
@Exclude VARCHAR(100),
@CollapseSpaces BIT
)
RETURNS VARCHAR(500)
AS
BEGIN
DECLARE @StartString INT,
@EndString INT,
@FinalString VARCHAR(500),
@CurrentString CHAR(1),
@PreviousString CHAR(1)
SET @StartString = 1
SET @EndString = LEN(ISNULL(@String, ''))
WHILE @StartString <= @EndString
BEGIN
SET @CurrentString = SUBSTRING(@String, @StartString, 1)
SET @PreviousString = SUBSTRING(@String, @StartString-1, 1)
IF @CurrentString LIKE ISNULL(@Exclude,'[^a-zA-Z0-9 ]')
BEGIN
SET @CurrentString = ''
IF @CollapseSpaces = 1
SET @FinalString = CASE WHEN @PreviousString = CHAR(32) THEN ISNULL(@FinalString, '') ELSE ISNULL(@FinalString, '')+' ' END
END
ELSE
BEGIN
SET @FinalString = ISNULL(@FinalString, '') + @CurrentString
IF @CollapseSpaces = 1
BEGIN
SET @FinalString = REPLACE(@FinalString,' ',' ')
END
END
SET @StartString = @StartString + 1
END
--PRINT @String
RETURN LTRIM(RTRIM(@FinalString))
END
GO
折叠多个空间
SELECT dbo.ufn_RemoveSpecialCharacters('This #$%string has#$% special #$% characters and spaces))', '[^a-zA-Z0-9 ]', 1)
最好编写一个函数来删除特殊字符。在这里,该函数将替换任何看起来不像a-z、a-z(如果区分大小写)、0-9和空格的字符。如果需要,可以添加更多字符。
例如,如果要保留句号(.),请使用'[^a-zA-Z0-9.]'
功能:
CREATE FUNCTION ufn_RemoveSpecialCharacters
(
@String VARCHAR(500),
@Exclude VARCHAR(100),
@CollapseSpaces BIT
)
RETURNS VARCHAR(500)
AS
BEGIN
DECLARE @StartString INT,
@EndString INT,
@FinalString VARCHAR(500),
@CurrentString CHAR(1),
@PreviousString CHAR(1)
SET @StartString = 1
SET @EndString = LEN(ISNULL(@String, ''))
WHILE @StartString <= @EndString
BEGIN
SET @CurrentString = SUBSTRING(@String, @StartString, 1)
SET @PreviousString = SUBSTRING(@String, @StartString-1, 1)
IF @CurrentString LIKE ISNULL(@Exclude,'[^a-zA-Z0-9 ]')
BEGIN
SET @CurrentString = ''
IF @CollapseSpaces = 1
SET @FinalString = CASE WHEN @PreviousString = CHAR(32) THEN ISNULL(@FinalString, '') ELSE ISNULL(@FinalString, '')+' ' END
END
ELSE
BEGIN
SET @FinalString = ISNULL(@FinalString, '') + @CurrentString
IF @CollapseSpaces = 1
BEGIN
SET @FinalString = REPLACE(@FinalString,' ',' ')
END
END
SET @StartString = @StartString + 1
END
--PRINT @String
RETURN LTRIM(RTRIM(@FinalString))
END
GO
折叠多个空间
SELECT dbo.ufn_RemoveSpecialCharacters('This #$%string has#$% special #$% characters and spaces))', '[^a-zA-Z0-9 ]', 1)
是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?