Saltar al contenido

LPAD en SQL Server 2008

Solución:

Básicamente, rellene con la cantidad de caracteres que tiene la intención de seleccionar y luego corrija la cadena.

Select right(replicate(' ',2) + YourFieldValue,2) from YourTable

Puede usar la función de espacio en lugar de replicar, espacio (número_de_espacios), replicar solo le permite rellenar con caracteres alternativos.

Los cálculos manuales pueden ser molestos para aplicar consultas internas. Afortunadamente, podemos crear una función:

CREATE FUNCTION LPAD
(
    @string VARCHAR(MAX), -- Initial string
    @length INT,          -- Size of final string
    @pad CHAR             -- Pad character
)
RETURNS VARCHAR(MAX)
AS
BEGIN
    RETURN REPLICATE(@pad, @length - LEN(@string)) + @string;
END
GO

(Por favor cámbialo VARCHAR con NVARCHAR a su gusto, o utilice un algoritmo alternativo).

Luego:

SELECT dbo.LPAD(MY_VALUE, 2, ' ') VALUE
FROM MY_TABLE

Debería funcionar desde SQL Server 2005.

Necesitaba algo similar pero no pude usar ‘+’ porque luego se interpretó como una suma entre los números ‘0000000000’ y [seq_no]. Así que usé concat en su lugar y funcionó bien.

select right (concat(replicate('0', 10),  next value for seq_no), 10);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *