2013-06-28 27 views
7

Tôi hiểu rằng AS được sử dụng để tạo bí danh. Vì vậy, nó có ý nghĩa để có một tên dài bí danh như một cái ngắn hơn. Tuy nhiên, tôi thấy một truy vấn SQLNULL as ColumnName Điều này có nghĩa là gì?SQL: NULL như ColumnName ngụ ý

SELECT *, NULL as aColumn 
+0

bạn có thể hiển thị toàn bộ truy vấn hoặc một cái gì đó nhiều hơn ... như 'chọn '1' như đánh số từ tablename' – Sachin

+0

@sac thêm truy vấn như nó đứng –

+0

Tôi nghĩ rằng câu trả lời LittleBobbyTables là chính xác, nó là một * NULL * giá trị cho aColumn cho tất cả các hàng ... – Sachin

Trả lời

9

Có thể sử dụng các biệt hiệu theo một số cách, không chỉ để rút ngắn tên cột dài.

Trong trường hợp này, ví dụ của bạn có nghĩa là bạn đang trả lại cột luôn chứa NULL và bí danh/tên cột là aColumn.

Việc đặt biệt hiệu cũng có thể được sử dụng khi bạn đang sử dụng các giá trị được tính toán, chẳng hạn như Column1 + Column2 AS Column3.

+0

Tôi nghĩ rằng ông là đúng – Sachin

+0

Tôi nghĩ như vậy quá;) Để * tại sao * họ đã viết các truy vấn như thế, đó là đoán của bất cứ ai.Như nó được viết, nó thực sự không làm bất cứ điều gì khác hơn là trả về tất cả các cột, cộng thêm một cột được gọi là 'aColumn'. Nếu không thấy bất kỳ mã hoặc quy trình kinh doanh xung quanh nào, thật khó để đoán mục đích của truy vấn là gì. – LittleBobbyTables

+0

Và kiểu dữ liệu của cột này là 'int' –

0

Trong kết quả câu lệnh, chúng tôi có một cột có tất cả các giá trị NULL. Chúng ta có thể tham khảo cột đó bằng cách sử dụng bí danh.

Trong trường hợp của bạn truy vấn chọn tất cả bản ghi từ bảng và mỗi bản ghi kết quả có cột bổ sung chỉ chứa giá trị NULL. Nếu chúng ta muốn tham khảo bộ kết quả này và cột bổ sung ở vị trí khác trong tương lai, chúng ta nên sử dụng bí danh.

1

Điều đó có nghĩa là "aColumn" chỉ có giá trị Null. Cột này có thể được cập nhật với các giá trị thực tế sau đó nhưng nó là một giá trị rỗng khi được chọn.

--- Tôi không chắc chắn nếu bạn biết về SSIS, nhưng cơ chế này hữu ích với SSIS để thêm giá trị biến vào cột "trống".

+0

chỉ để chắc chắn, SSIS có nghĩa là: Dịch vụ Tích hợp SQL Server? –

+1

Có. Truy vấn khi bạn đăng có thể hoạt động dưới dạng bảng nguồn, khi đó, tập hợp biến trong SSIS có thể được sử dụng để cung cấp các giá trị cho cột trống. – Echo

0

Khi sử dụng SELECT, bạn có thể chuyển trực tiếp giá trị cho cột. Vì vậy, một cái gì đó như:

SELECT ID, Name, 'None' AS Hobbies, 0 AS NumberOfPets, NULL AS Picture, '' AS Adress 

Hợp lệ.

Nó có thể được sử dụng để định dạng đầu ra truy vấn độc đáo khi sử dụng UNION/UNION ALL.

0

Làm thế nào về mà không sử dụng như SELECT ID , Tên , 'Không' AS Sở thích , 0 AS NumberOfPets , NULL Hình

0

thường thêm NULL như tên [Column] ở phần cuối của một chọn tất cả được sử dụng khi chèn vào bảng khác một cột được tính toán dựa trên bảng bạn vừa chọn.

UPDATE #TempTable SET aColumn = Column1 + Column2 WHERE ... 

Sau đó xuất hoặc lưu kết quả vào bảng khác.

0

Kết quả truy vấn có thể có cột mới có tất cả giá trị NULL. Trong SQL Server, chúng tôi có thể thực hiện như thế này

SELECT *, CAST(NULL AS <data-type>) AS as aColumn 

ví dụ:

SELECT *, CAST(NULL AS BIGINT) AS as aColumn 
Các vấn đề liên quan