2011-10-18 47 views
17

Tôi có một bảng trong cơ sở dữ liệu SQL (MS) có cột Id (danh tính, int) và cột Tên (varchar (250)). Tuy nhiên, các giá trị trong cột tên chứa (khá ngẫu nhiên) hàng đầu và dấu cách không gian như tôi nghĩ rằng họ đã được cắt và dán từ "cái gì khác" (không có ý tưởng gì!).Có thể Cắt tất cả các giá trị trong một cột trong một câu lệnh không?

Có thể trong T-SQL để làm như sau:

update MyTable set Name = trim(name) 

và có nó cập nhật tất cả các cột tên với giá trị tỉa?

Trả lời

52

MS SQL không có một chức năng trim. Bạn sẽ cần phải sử dụng rTrim và lTrim cùng nhau.

update MyTable set Name = lTrim(rTrim(name)) 
+0

Cảm ơn @Bazza , không có thắc mắc tôi không thể tìm thấy Trim! – BlueChippy

9

Hãy thử

update MyTable set Name = LTRIM(RTRIM((name)) 
2

Trong SQL Server chỉ có RTRIMLTRIM, nhưng bạn có thể sử dụng chúng cả hai cùng nhau:

update MyTable set Name = RTRIM(LTRIM((name)) 
3

Bạn có thể thử này:

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

Hãy xem here tạo một hàm bên trong cơ sở dữ liệu của bạn để sử dụng nó nhanh hơn

+0

Cảm ơn câu trả lời @Bazza đã xuất hiện đầu tiên, nhưng cảm ơn bạn đã cung cấp thêm thông tin. – BlueChippy

+0

@BlueChippy: bạn được chào đón! :) – Marco

0

Không hẳn - không có TRIM() chức năng có sẵn, vì vậy bạn phải sử dụng RTRIM()LTRIM() (phải và trái trim, tương ứng):

UPDATE MyTable set Name = rtrim(ltrim(name)) 
1

Hãy thử điều này:

UPDATE [table] SET [column1] = REPLACE([column1],'i:0#.w|',' ')

Các vấn đề liên quan