Trong this answer, có một thủ thuật cho phép sử dụng ROW_NUMBER()
chức năng cửa sổ với một 'liên tục' trong ORDER BY
khoản:T-SQL Dollar Đăng nhập Expressions
SELECT ROW_NUMBER() OVER (ORDER BY $/0)
FROM master..spt_values
Sau khi một số tìm kiếm trong Google, tôi có thể 't tìm thấy ký hiệu đô la nghĩa là gì trong ngữ cảnh này?
Tôi đã cố gắng để thực hiện một truy vấn đơn giản:
SELECT $;
Và nó trả 0
.
Ai đó có thể giải thích điều này?
Tôi mong chờ $/0 để ném ngoại lệ bằng 0 nhưng nó hoạt động. Tôi sẽ không sử dụng hack này. –
@GiorgiNakeuri, tôi đã rất ngạc nhiên khi nó hoạt động quá và đó là chính xác bởi vì tôi đã bắt đầu đào sâu vào thủ thuật này. Và tôi không thích nó bởi cùng một lý do, nhưng tôi không biết một lựa chọn khác cho bây giờ. –
Cách khác là giả standart chọn 'SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) ' –