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)