rpad right rellenar padl lpad izquierda ceros and sql-server tsql

sql-server - rellenar - right sql server



LPAD en SQL Server 2008 (3)

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

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

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

No puedo ver una función como LPAD en SQL Server 2008. Por ejemplo, ¿cómo puedo convertir las siguientes consultas en T-SQL? Gracias por tus respuestas

select LPAD(MY_VALUE,2,'' '')) VALUE FROM MY_TABLE


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

select right (concat(replicate(''0'', 10), next value for seq_no), 10);


Los cálculos manuales pueden ser molestos para aplicar dentro de las consultas. 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, reemplace VARCHAR con NVARCHAR a su gusto, o utilice un algoritmo alternativo).

Entonces:

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

Debería funcionar desde SQL Server 2005 .