2

値が繰り返される列 ID (varchar) があります。これらの値の一部には、選択時に見たくない末尾のスペースがあります。

「末尾のスペースを削除した後に個別に選択」したい。

以下のコードを試しましたが、役に立ちません。出力の末尾にまだスペースがあります。

CREATE FUNCTION dbo.TRIM(@string VARCHAR(MAX))
RETURNS VARCHAR(MAX)
BEGIN
RETURN LTRIM(RTRIM(@string))
END
GO
SELECT dbo.TRIM(' String ')
GO

それから、

select distinct dbo.trim(MyID) as Trimmed
from dbo.SourceTbl

から取得したコード - http://blog.sqlauthority.com/2013/01/23/sql-server-trim-function-to-remove-leading-and-trailing-spaces-of-string-sql-in-sixty- seconds-040-video/

4

2 に答える 2

7

このようなことを試してみてください。

SELECT DISTINCT trimmed
FROM (
    SELECT RTRIM(LTRIM(MyID)) as trimmed
    FROM dbo.SourceTbl
) A
于 2013-10-04T20:07:55.820 に答える
0
SELECT Distinct  replace(Colum, ' ', '') AS Trimmed
FROM Table

DECLARE @String1 NVARCHAR(MAX)
SET @String1 = ' String '
SELECT @String1 OriginalString, RTRIM(LTRIM(@String1)) TrimmedValue
GO

先頭と末尾のスペースを削除する関数を作成するには

CREATE FUNCTION dbo.TRIM(@string VARCHAR(MAX))
RETURNS VARCHAR(MAX)
BEGIN
RETURN LTRIM(RTRIM(@string))
END
GO


SELECT DISTINCT dbo.TRIM(' String ')
GO
于 2013-10-04T20:07:22.257 に答える