- Posted on
- Học viện GNV
- Không có bình luận
Các kiểu dữ liệu trong SQL Server
Để có thể sử dụng hiệu quả SQL Server trong phân tích dữ liệu hay trong các công việc khác, chúng ta cần phải hiểu
1/ dữ liệu của chúng ta là gì ( số tiền giao dịch, id khác hàng,..)
2/ kiểu dữ liệu của chúng là gì ( số nguyên/ thập phân, id có thể là số/ chữ/ số + chữ)
3/ Chúng được thể hiện trong SQL Server dưới dạng nào?
Sau khi đã hiểu được các kiểu dữ liệu trong SQL Server, việc vận dụng – kết hợp các câu lệnh phân tích với nhau sẽ hạn chế việc xảy ra lỗi trong quá trình phân tích. Nhờ đó, chúng ta có thể tiết kiệm được nhiều thời gian hơn cho việc Debug.
Và phần cuối sẽ hướng dẫn các bạn chuyển đổi các kiểu dữ liệu trong SQL Server thông qua các câu lệnh phổ biến.
1/ Các kiểu dữ liệu trong SQL Server thường gặp
Thông thường sẽ có 5 nhóm kiểu dữ liệu chính mà chúng ta hay gặp và hay sử dụng nhiều nhất. Vì vậy GNV sẽ giúp bạn hiểu rõ hơn về những kiểu dữ liệu chính trong SQL Server
- Kiểu dữ liệu chuỗi văn bản: Varchar(n) , Nvarchar(n)
- Kiểu dữ liệu: Int, Float
- Kiểu dữ ngày tháng: Date, Datetime
– n: là số lượng ký tự trong chuỗi của bạn
Ví dụ cụ thể:
– Varchar(5): Độ dài ký tự đầu vào của bạn tối đa là 5 ký tự và ký tự này không có dấu. Nếu dữ liệu đầu vào của bạn là: ‘trắng’, ‘tranggg’, ‘tra ng’ đều sẽ bị lỗi vì có chứa ký tự Unicode (1) và độ dài của chuỗi hơn 5 ký tự (2, 3)
– Nvarchar(5): Độ dài ký tự đầu vào của bạn tối đa là 5 ký tự và ký tự này có thể có hoặc không có dấu tùy vào dữ liệu đầu vào.
– float: Dữ liệu đầu vào của bạn có thể là số nguyên (3) hoặc số thập phân (3.2), kết quả truy vấn sẽ trả ra như ký tự đã nhập vào ( 3.0 và 3.2). Tuy nhiên, nếu bạn nhập ký tự chữ thì sẽ bị lỗi.
– int: Nếu bạn nhập vào ký tự số thập phân (2.435) thì kết quả trả ra sẽ là một số nguyên ( 2 ), phần thập phân sẽ được cắt bỏ. Và nếu ký tự đầu vào là dạng chữ thì sẽ bị lỗi.
Tham khảo thêm: Một số kiểu dữ liệu khác
2/ Chuyển đổi các kiểu dữ liệu trong SQL Server
Giữa các kiểu dữ liệu chung nhóm với nhau. chúng ta vẫn có thể dùng các toán tử để kết hợp tạo thành chuỗi ký tự mới, nhưng đối với một ký dạng chữ kết hợp dạng số thì chúng ta cần phải chuyển đổi ký tự dạng số thành chữ ( không thể chuyển chữ thành số rồi kết hợp)
- INT và FLOAT có thể dùng các toán tử để tạo ra chuỗi ký tự mới
- Với các ký tự trong chuỗi ký tự văn bảng, bạn chỉ có thể dùng dấu + để kết hợp thành chuỗi mới
- Với chuỗi ký tự trong văn bảng và ký tự kiểu dữ liệu ( số nguyên hoặc số thập phân), bạn phải chuyển đổi ký tự dạng số liệu thành ký tự văn bảng, sau đó mới có thể dùng toán tử + để kết hợp thành chuỗi ký tự mới
Như vậy, để kết hợp một ký tự dạng văn bảng và ký tự dạng dữ liệu (dạng số) chúng ta cần phải chuyển đổi kiểu dữ liệu dạng số thành kiểu dữ liệu dạng văn bảng. Sau đây là một số câu lệnh sẽ giúp bạn chuyển đỏi kiểu dữ liệu dạng số thành dạng văn bảng.
2.1/ CAST và TRY_CAST
Cast giúp bạn chuyển đổi kiểu dữ liệu ban đầu thành kiểu dữ liệu mới, nếu kiểu dữ liệu mới tương đương với kiểu dữ liệu ban đầu.
Ví dụ:
- Float – > Int và ngược lại
- Varchar(n) -> Nvarchar(n) và ngược lại
- Float, Int -> Varchar(n), Nvarchar(n) và không có chiều ngược lại
Lưu ý về độ dài số ký tự khi chuyển đổi từ float, int sang varcahr và nvarchar
SELECT TRY_CAST(Cot2 as int) as Vidu
2.2/ CONVERT and TRY_CONVERT
Hàm Convert và Try_Convert có tính năng và cách sử dụng tương tự như hàm Cast và Try_Cast. Các giá trị tương đương sẽ chuyển đổi lại qua lại với nhau và giá trị bị lỗi sẽ trả lại giá trị NULL.
Ngoài ra, Convert và Try_Convert có một đặc điểm hơn Cast và Try_Cast ở dạng giá trị được trả lại. Bạn có thể chọn được format cho giá trị được trả lại.
2.3/ STR
Hàm STR sẽ giúp bạn chuyển đổi ký tự dạng số sang ký tự dạng văn bảng.
Như vậy, ở bài này chúng ta đã học được các loại dữ liệu trong SQL Server thông dụng, cách sử dụng chúng và quan trọng hơn rất là cach kết hợp cac chuỗi này lại với nhau tùy theo mục đích của chúng ta.