El formato de datos de la cadena de consulta de la base de datos MySQL insuficiente se rellena automáticamente con caracteres "0" para alcanzar el número especificado de dígitos
En una base de datos MySQL, muchas veces nuestros datos serán diferentes de la salida que queremos.
Por ejemplo, en una base de datos, si guardamos es 1 , pero necesitamos que muestre el resultado es 001 , entonces necesitamos algunos más antes de los datos 1, 0 ;
o si necesitamos mostrar la salida es 100 , necesitaríamos Agregue algunos ceros más después del dato 1 .
Como se muestra en la figura:
Por ejemplo, necesitamos consultar el campo id en esta tabla, y requerimos que el formato de salida sea 001,002.
Para la instrucción SQL que normalmente no hacemos ninguna operación, el único formato que podemos consultar es 1, 2, 3.
SELECT `id`,`name`,`age` FROM `student`
Entonces, ¿cómo podemos cambiar los datos a la cantidad de bits que queremos? Necesitamos usar la función LPAD () y la función RPAD ().
Echemos un vistazo a la definición y el uso simple de estas dos funciones:
LPAD (str, len, padstr)
Devuelve la cadena str, el relleno izquierdo se rellena con la cadena padstr hasta la longitud de len caracteres. Si str es más larga que len, el valor de retorno se acorta a len caracteres (es decir, no puede exceder la longitud len).
LPAD (nombre de campo, longitud, "carácter de relleno"): relleno izquierdo 0001, 0002.
mysql> SELECT LPAD('hi',4,'??');
+---------------------------------------------------------+
| LPAD('hi',4,'??') |
+---------------------------------------------------------+
| ??hi |
+---------------------------------------------------------+
1 row in set (0.00 sec)
RPAD (str, len, padstr)
Devuelve la cadena str, la cadena con relleno derecho padstr se rellena con la longitud de len caracteres. Si la longitud de str es mayor que len, el valor de retorno se acorta a len caracteres.
RPAD (nombre del campo, longitud, "carácter de relleno"): relleno derecho 1000, 2000.
mysql> SELECT RPAD('hi',5,'?');
+---------------------------------------------------------+
| RPAD('hi',5,'?') |
+---------------------------------------------------------+
| hi??? |
+---------------------------------------------------------+
1 row in set (0.00 sec)
OK, después de leer la definición, regrese a la pregunta ahora, ¡ahora vaya a modificar nuestra declaración SQL!
SELECT LPAD(`id`,3,0) as id,`name`,`age` FROM `student`
El efecto es el siguiente:
También intente cambiar al formato 100,200:
SELECT RPAD(`id`,3,0) as id,`name`,`age` FROM `student`
El efecto se muestra en la figura: ¡
Listo! ! ! !