如何在sql中修改从select检索的数据?

如何在sql中修改从select检索的数据?,sql,Sql,假设我的数据中有一些不需要的字符,例如customers表中的name列的数据为

假设我的数据中有一些不需要的字符,例如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)

是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?是否只替换特殊符号和空格。我是否正确?