sách gpt4 ăn đã đi

SQLServer sử dụng Rand để lấy số ngẫu nhiên

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 26 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết blog CFSDN này SQLServer sử dụng rand để lấy số ngẫu nhiên, được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Hàm Rand() là chức năng riêng của hệ thống để lấy số ngẫu nhiên. Bạn có thể chạy trực tiếp select rand() để lấy số kiểu float trong khoảng từ 0 đến 1.

Nếu bạn muốn lấy một số nguyên ngẫu nhiên trong khoảng từ 0 đến 100, bạn có thể sử dụng select round(100*rand(),0) như thế này.

Để dễ sử dụng, một phương pháp được mở rộng dưới đây:

?
1
2
3
4
TUYÊN BỐ @SốBắtĐầu Int =60 --Giá trị tối thiểu của số ngẫu nhiên
TUYÊN BỐ @NumEnd Int =100 --Giá trị tối đa của số ngẫu nhiên
TUYÊN BỐ @ Số thập phân Int =2 --Bảo lưu số thập phân
LỰA CHỌN @NumBegin+vòng((@NumEnd-@NumBegin)*rand(),@ Số thập phân )

Phương pháp này thu được giá trị ngẫu nhiên tương ứng bằng cách chuyển vào các giá trị tối đa và tối thiểu cũng như số vị trí thập phân trong số trả về. Kết quả thực hiện của ví dụ trên là thu được một số ngẫu nhiên trong khoảng từ 60 đến 100 với hai chữ số thập phân. Nếu bạn thay đổi 2 thành -1, nó sẽ trở thành số nguyên là bội số của 10 trong khoảng từ 60 đến 100. Nếu bạn không thay đổi. tin đi, bạn có thể thử nó! .

Lưu ý: Ban đầu tôi muốn viết chức năng này như một chức năng để gọi điện dễ dàng, nhưng nó đã phản tác dụng! Hàm này thực tế không hỗ trợ hàm rand() và thông báo lỗi như sau:

SQLServer sử dụng Rand để lấy số ngẫu nhiên

Trên thực tế, hàm rand có một nhược điểm. Giả sử chúng ta có một bảng lưu trữ ID từ 1 đến 10. Chúng ta muốn gắn một số ngẫu nhiên vào mỗi ID, như hình dưới đây:

SQLServer sử dụng Rand để lấy số ngẫu nhiên

Có lẽ chúng ta có thể làm điều này:

SQLServer sử dụng Rand để lấy số ngẫu nhiên

Nhìn thoáng qua có thể thấy những con số ngẫu nhiên này đều giống nhau, nhưng thực tế đây không phải là kết quả mà chúng ta mong muốn.

Nếu bạn đổi nó thành newid hãy thử:

SQLServer sử dụng Rand để lấy số ngẫu nhiên

Đây gọi là ngẫu nhiên! .

Tại sao kết quả này xảy ra?

Với cùng cú pháp SQL, kết quả của việc sử dụng newid là "ngẫu nhiên thực sự", nhưng kết quả của việc sử dụng rand là "giả ngẫu nhiên".

Những gì chúng ta cần là một chuỗi các số thuần túy và kết quả thu được bằng cách sử dụng newid không thuận tiện để xử lý. Vì vậy, đối với kịch bản này, chúng ta có một cách khác để lấy số ngẫu nhiên. Sau đó, chúng ta cần giới thiệu một hàm checksum khác có thể được sử dụng kết hợp với newid để tạo số ngẫu nhiên. Chúng ta sẽ nói về cách sử dụng tổng kiểm tra sau! .

Hôm nay tôi hơi dài dòng một chút~~.

Bổ sung: Chèn các số nguyên ngẫu nhiên trong phạm vi 100 vào Sqlserver --- sử dụng rand và newId().

?
1
cập nhật Bài kiểm tra bộ số lượng= dàn diễn viên ( sàn(rand()*100) BẰNG số nguyên );

Các giá trị qty được chèn đều giống nhau.

Mô tả chức năng:

?
1
dàn diễn viên ( sàn(rand()*100) BẰNG số nguyên )

Hàm FLOOR(n): lấy số nguyên lớn nhất nhỏ hơn hoặc bằng giá trị n.

rand: Cách sử dụng này không có tham số và trả về một giá trị có độ chính xác 38 bit, nằm trong khoảng từ 0,0 đến 1,0, nhưng không bao gồm 1,0.

*N: N được chỉ định làm số nguyên và phạm vi giá trị của số ngẫu nhiên được đặt bằng cách đặt giá trị N.

Truyền thực hiện chuyển đổi loại và có thể được sử dụng cho nhiều loại dữ liệu khác nhau. Những gì được sửa đổi là loại dữ liệu của người dùng.

ngữ pháp: .

?
1
2
DÀN DIỄN VIÊN ( sự biểu lộ BẰNG kiểu dữ liệu)
cập nhật dữ liệu thử nghiệm bộ số lượng= bụng (CHECKSUM(CHANGE())%100+1)

Các giá trị qty được chèn là khác nhau.

Về phương pháp lấy ngẫu nhiên N bản ghi bất kỳ trong bảng thì rất đơn giản, chỉ cần sử dụng newid(): select top N * from table_name order by newid() ----N là số nguyên do bạn chỉ định, biểu thị số lượng hồ sơ để có được.

-----newid() tạo một giá trị khi quét từng bản ghi và giá trị được tạo là ngẫu nhiên và không có thứ tự chữ hoa chữ thường.

Trên đây là kinh nghiệm cá nhân của mình, hi vọng có thể cho các bạn tham khảo và mong các bạn có thể ủng hộ mình. Nếu có sai sót hoặc thiếu sót gì xin vui lòng chỉ giáo cho tôi.

Liên kết gốc: https://blog.csdn.net/Wikey_Zhang/article/details/76638981.

Cuối cùng, bài viết này về hoạt động của SQLServer sử dụng Rand để lấy số ngẫu nhiên kết thúc tại đây. Nếu bạn muốn biết thêm về hoạt động của SQLServer sử dụng Rand để lấy số ngẫu nhiên, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. tất cả các bạn hãy ủng hộ blog của tôi trong tương lai! .

26 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress