Archive

Posts Tagged ‘T-SQL’

Thao tác cơ bản về xử lí kí tự khoảng trắng của chuỗi trong SQL

September 5, 2011 1 comment

Trong bài viết này, mình chia sẻ cùng các bạn một vài câu lệnh xử lí khoảng trắng trong chuỗi cơ bản dành cho người mới bắt đầu hoàn toàn với lập trình SQL.

Các bạn tạo một cơ sở dữ liệu StudentMgmt với table Student có dữ liệu mẫu như dưới đây:

1

Các bạn chú ý tạo một số khoảng trắng ở đầu và cuối của chuỗi dữ liệu, mục tiêu của phần này, chúng ta sẽ loại bỏ khoảng trắng ở đầu và cuối của chuỗi.

Trước tiên, để các bạn hiển thị rõ các khoảng trắng trên chuỗi, không gì hơn là chúng ta sẽ thay thế kí tự chuỗi bằng 1 kí tự đặc biệt này đó, ví dụ như kí tự ‘#’, chúng ta sẽ dùng hàm Function đã được hỗ trợ sẵn:

image

Kết quả trả về sẽ như sau:

image

Cú pháp của hàm Replace như sau:

Replace(<giá trị chuỗi>, <kí tự cần thay thế>, <kí tự mới sẽ thay thế>)

Như vậy chúng ta thấy rõ các chuỗi đang có những kí tự trống ở đầu và cuối của chuỗi, chúng ta sẽ tiến hành xóa các kí tự khoảng trắng dư thừa ở đầu và cuối mỗi chuỗi.

Đối với các kí tự khoảng trắng ở đầu, chúng ta sẽ dùng hàm LTRIM để cắt bỏ các kí tự, và dùng hàm Replace để kiểm tra:

image

Kết quả trả về:

image

Đối chiếu với kết quả ở trên, ta thây được sự khác biệt của chuỗi; các kí tự khoảng trắng ở đầu đã được xóa.

Cú pháp của hàm LTRIM:

LTRIM(<chuỗi cần xóa kí tự khoảng trắng bên trái>)

Sử dụng tương tự như LTRIM, ta sử dụng hàm RTRIM để xóa các kí tự khoảng trắng ở bên phải hay ở cuối chuỗi; và dùng Replace để kiểm tra.

image

Kết quả trả về:

image

Cú pháp của hàm RTRIM:

RTRIM(<chuỗi cần xóa kí tự khoảng trắng bên phải>)

Ta kết hợp LTRIM, RTRIM để xóa các kí tự khoảng trắng ở đầu và cuối mỗi chuối; và tiến hành kiểm tra kết quả:

image

Kết quả trả về:

image

Như vậy, qua bài thực hành nhỏ này, hy vọng giúp các bạn nắm được việc sử dụng cơ bản các hàm LTRIM, RTRIM và REPLACE trong việc thao tác với chuỗi trong SQL.

Advertisements
Categories: SQL Server Tags:

How to: Extract data and table schema from one database to other


Để có thể extract dữ liệu và schema của 01 bảng dữ liệu thuộc 1 database sang một database khác, ta có thể dùng câu lệnh với cấu trúc như sau:

SELECT * INTO [DEST_DB].dbo.[DEST_TBL] FROM [SRC_DB].dbo.[SRC_DB]

Bài Lab thực hành cơ bản:

  • Tạo một cơ sở dữ liệu có tên Database01 với Table01 gồm có 3 cột: Column01, Column02, Column03 cùng một số dữ liệu mẫu
  • Tạo cơ sở dữ liệu Database02 trống (không có table nào cả)
  • Thực hiện câu lệnh SQL:

SELECT * INTO DATABASE02.dbo.TABLE01 FROM DATABASE01.dbo.TABLE01

Kiểm tra cơ sở dữ liệu Database02 với kết quả là Table01 được tạo với Schema và dữ liệu như có trong Database01

Categories: SQL Server Tags:

Đối chiếu 02 bảng dữ liệu với Checksum Column


Thông thường trong thực tế, chúng ta vẫn thường có nhu cầu đối chiếu 02 đối tượng dữ liệu với nhau; các đối tượng dữ liệu có thể là chuỗi, số nguyên hoặc bảng dữ liệu.

Riêng đối với bảng dữ liệu thì theo cách thông thường thì chúng ta cần phải đối chiều dữ liệu trên từng Row và Column để tìm sự khác biệt; cụ thể trong trường hợp chúng ta cần lọc ra danh sách các Record dữ liệu trong một bảng đang tồn tại hoặc chưa tồn tại trong 01 bảng dữ liệu khác; như vậy ta có thể dùng tính năng checksum trong SQL Server.

Ta tạo một bảng dùng để hiện thực tính năng checksum với tên MyTest

image

Tạo 02 bảng table1 và table2; mỗi bảng có 03 cột giá trị kiểu integer

image

Tạo dữ liệu mẫu cho cả 02 bảng: table1 và table2

image

Tiến hành việc tạo thêm một column thứ tư có giá trị checksum từ 3 cột khác trong table.

image

Truy vấn dữ liệu hiện tại trong cả 02 bảng table1 và table2

image

Kết quả trả về từ câu truy vấn trên, ta nhận thấy column thứ 4 có giá trị checksum của 03 cột khác và thấy giống nhau trong cả 2 bảng ở row thứ 1.

image

Truy vấn chọn ra Record dữ liệu giống nhau ở cả 2 bảng

image

Kết quả trả về:

image

Truy vấn chọn ra Record dữ liệu trong table1 không tồn tại trong table2

image

image

Categories: SQL Server Tags: