Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar sentencias SQL para convertir un determinado número de campo en un número aleatorio, como el campo de número de estudiante en una tabla? ¿Cómo hacer que este número de estudiante genere automáticamente un número aleatorio de 7 dígitos?

¿Cómo utilizar sentencias SQL para convertir un determinado número de campo en un número aleatorio, como el campo de número de estudiante en una tabla? ¿Cómo hacer que este número de estudiante genere automáticamente un número aleatorio de 7 dígitos?

1. Utilizar un campo entero como semilla (generar uno si no existe)

2. Generar un número aleatorio entre 0 y 1 mediante la función RAND. Por ejemplo, 0.7136106261841817

3. Luego conviértalo a tipo de texto

4. Luego tome los últimos 7 dígitos y podrá DERECHA (CONVERTIR (VARCHAR, RAND (número de serie)), 7).

Las declaraciones específicas son las siguientes:

Si hay un campo en la tabla que es un número de serie entero o una columna de identificación, entonces el número de serie se puede utilizar como semilla para generar un campo de número de estudiante aleatorio.

ACTUALIZAR TABLENAME SET número de estudiante = DERECHA (CONVERT (VARCHAR, RAND (número de serie)), 7) DONDE el número de serie NO ES NULO

Si no hay un número de serie entero o identidad columna, luego El número de estudiante debe generarse según el campo clave en la tabla que puede identificar de forma única una fila, como ID

UPDATE TABLENAME SET número de estudiante=RIGHT(CONVERT(VARCHAR,rand((select count(1)) de nombre de tabla a donde a.idgt;=nombre de tabla.id))),7)