Как обновить таблицу базы данных, удалив завершающие пробелы из одного из столбцов? - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь написать оператор SQL, чтобы я мог обновить всю таблицу базы данных, удалив все пробелы из одного из ее столбцов.

Вот схема базы данных:

<!-- 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, чтобы я мог обновить всю базу данных?

1 Ответ

1 голос
/ 07 февраля 2012

Вы должны изменить тип столбца следующим образом:

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

И, возможно, то же самое для названия и номера документа.

...