2011-12-07 21 views
2

ExaminationというテーブルとNameというテーブルがあります。このNameカラムでは、値の大部分は先行スペースと末尾スペースで構成されます。値にスペースがないようにこの列を更新する方法を知りたい。SQL Server 2005のテーブル列をトリミングする

+0

また、私はcsharpコードで疑問があります。このリーダー["Manager"]にトリムを適用したいToString()。ToUpper()== Email;リーダー["マネージャー"]のためにトリムを適用する方法この値。 – Naveen

答えて

5

既存のデータを修正したい場合は:それはデータベースに入る前に、

UPDATE Examination SET Name = RTRIM(LTRIM(Name)) 

は、一般的に、アプリケーション層では、データを「クリーン」必要があります。

RTRIM関数は、右側の末尾のスペースを削除し、LTRIMは、左側のそれを削除します。

C#では、文字列のTrimメソッドを使用して左右両方をトリムすることができます。これにより、トリミングされた新しい文字列が返されます。

3
UPDATE Examination SET [Name] = LTRIM(RTRIM([Name])) 
+0

コード、XML、またはデータサンプルを投稿する場合は、テキストエディタでこれらの行を強調表示し、エディタツールバーの "コードサンプル"ボタン( '{}')をクリックして、フォーマットして構文を強調してください! –

+0

私がしなかった唯一の理由は、a)それは答えの中の唯一のテキストであり、b)それは包み込むのに十分な幅ではないからです。 –

+2

OK - **しかし**書式を設定すると、構文のハイライト表示が便利で便利です –

1

たとえば、あなたの試験表のS.NoまたはID。私たちはシリアル番号としてIDを考慮してください。

declare @TotCount int 

select @Totcount=MAX(id) from @t 
WHILE(@Totcount > 0) 
BEGIN 

IF EXISTS(SELECT * FROM EXAMINATION WHERE [email protected]) 
BEGIN 
    UPDATE Examination 
    Set Name=Rtrim(LTRIM(NAME)) 
    WHERE [email protected] 
END 
SET @Totcount = @Totcount - 1 

END 

SELECT * FROM Examination (NOLOCK)