2012-02-07 7 views
0

私はいくつかのSQL文を書こうとしているので、その列のすべてのスペースを削除してデータベーステーブル全体を更新することができます。ここで列の1つから末尾のスペースを削除してデータベーステーブルを更新するにはどうすればよいですか?

は、データベースの設計です:

<!-- language: lang-sql --> 
/****** Object: Table [dbo].[document_control] Script Date: 02/06/2012 21:02:07 ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

CREATE TABLE [dbo].[document_control](
    [id] [int] IDENTITY(1,1) NOT NULL, 
    [doc_number] [nchar](10) NOT NULL, 
    [doc_title] [nchar](256) NOT NULL, 
    [co_num] [int] NULL, 
    [co_date] [date] NULL, 
    [doc_path] [nchar](256) NULL, 
    [doc_revision] [int] NULL, 
    [doc_family] [nvarchar](5) NULL, 
CONSTRAINT [PK_document_control] PRIMARY KEY CLUSTERED 
(
    [id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

私は、具体的[doc_path]列にスペースがたくさんあります。私は簡単に使用することができることを知っているLTRIM()は、スペースを削除する関数です。しかし、私はどのように私はデータベース全体を更新することができますSQLステートメントを書くことができますか?

ALTER TABLE [dbo].[document_control] MODIFY COLUMN [doc_path] [nvarchar](256) 
GO 
UPDATE [dbo].[document_control] SET 
    [doc_path] = RTRIM([doc_path]) 
GO 

をそしてドキュメントのタイトルと番号のための同じをオプション:

答えて

1

あなたはこのようなあなたの列の型を変更する必要があります。

+0

フィードバックに感謝します。残念ながら、それは動作しませんでした。私はまだ[doc_path]フィールドにスペースがあります。 上記のスクリプトを見ると、フィールドのサイズは256です。いくつかのレコードを確認した後、空白のサイズが入力されたテキストと同じであることを認識しました(例:/Documents/Procedures/CR/pdf/CR007.pdf) 256(フィールドの合計サイズ)を引いたものです。 – Fawadafr

+0

はい、新しいタイプのコラムに気付いただけです** **間違いなしに**動作する必要があります –

関連する問題