Nối chuỗi với hàm CONCAT trong SQL
Hàm CONCAT
được sử dụng để nối các chuỗi, số thành một chuỗi mới, hàm này có trong MySQL, SQLServer ...
Cú pháp như sau:
CONCAT(string1, string2, ...., string_n)
Các chuỗi con string1, string2 ... có thể là tên cột hoặc chuỗi giá trị trong dấu nháy đơn.
Ví dụ:
SELECT CONCAT(TenLienLac ,',' ,QuocGia) FROM Customers;
Riêng với SQLite việc thực hiện nối chuỗi như trên lại dùng toán tử ||
, câu lệnh ví dụ trên viết cho SQLite sẽ là:
SELECT TenLienLac || ',' || QuocGia FROM Khachhang
Kết quả trên SQLite
TenLienLac || ',' || QuocGia |
---|
Đặng Tuấn Anh,Đức |
Hoàng Đức Anh,Đức |
Lưu Trang Anh,Mỹ |
Phạm Hoàng Anh,Việt Nam |
Đỗ Hoàng Gia Bảo,Việt Nam |
Có một file CSDL mẫu dạng SQLite, bạn có thể tải về thực hành: CSDL SQLite mẫu. Hoặc Chạy SQL Online
Từ khóa AS trong SQL
Như bạn thấy ở ví dụ trên kết quả nối chuỗi sẽ sinh ra một cột dữ liệu mới trả về. Mặc định tên cột đó do biểu thức của nối chuối quyết định.
Giờ bạn muốn tùy biến gán tên cột đó theo ý bạn thì sẽ sử dụng từ khóa AS
Ví dụ MySQL tùy biến kết quả biểu thức thành cột newcol
SELECT CONCAT(Hoten ,',' ,Quocgia) AS newcol FROM Khachhang;
Ví dụ SQLite tùy biến kết quả biểu thức thành cột newcol
SELECT Hoten || ',' || Quocgia AS HotenQuocgia FROM Khachhang;
Kết quả trên SQLite
HotenQuocgia |
---|
Đặng Tuấn Anh,Đức |
Hoàng Đức Anh,Đức |
Lưu Trang Anh,Mỹ |
... |
Toán tử số học trong SQL
Các toán tử thực hiện trên dữ liệu dạng số mà SQL cho phép sử dụng để tạo ra các biểu thức gồm có cộng +, trừ -, nhân *, chia /
Ví dụ giá các sản phẩm cộng thêm 5000 tạo ra cột giá mới GiaMoi (sử dụng toán tử +)
select TenSanpham, Gia As GiaCu, Gia + 5000 AS GiaMoi FROM Sanpham
Kết quả trên SQLite
TenSanpham | GiaCu | GiaMoi |
---|---|---|
Bia 333 | 300000 | 305000 |
Nước ngọt Coca cola | 200000 | 205000 |
Tương Ớt Chin-Su (250g) | 12000 | 17000 |
... | ... | ... |