2012-07-09 45 views

Trả lời

14

Không có sự khác biệt về chức năng.

|| là toán tử nối chuỗi chuẩn ANSI (mặc dù, thật không may, không phải mọi cơ sở dữ liệu <cough>SQL Server</cough> đều chọn hỗ trợ chuẩn). Nhiều cơ sở dữ liệu hỗ trợ chức năng CONCAT để có thể dễ dàng chuyển mã bằng cách sử dụng CONCAT đến các cơ sở dữ liệu khác nhau.

+0

Tôi chỉ biết hai DBMS không tuân thủ tiêu chuẩn SQL: SQL Server và MySQL. Và MySQL ít nhất có thể được cấu hình để chấp nhận '||' làm toán tử nối. –

+3

+1 cho các thẻ một mình :-) – DCookie

+0

Oh đến trên máy chủ SQL có một toán tử tương đương '+' giống như [hỗ trợ một phần của oracle của các hàm chuẩn ANSI] (http://docs.oracle.com/cd/ B19306_01/server.102/b14200/ap_standard_sql003.htm # sthref10080) Các hàm CHARACTER_LENGTH, OCTET_LENGTH, SUBSTRING hoặc POSITION. –

1

Chức năng 'concat' chỉ có thể hoạt động trên 2 biến hoặc cột, trong khi hoạt động 'concat' có thể được thực hiện cho bất kỳ số lượng biến hoặc cột nào.

+2

Trên Oracle, [điều này đúng] (http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions026.htm). – NReilingh

+2

CONCAT sẽ nhận được nhiều đầu vào như bạn muốn trong MySql. –

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