none
Longitud de Columna tipo de datos nvarchar RRS feed

  • Pregunta

  • Buenas Tardes Compañeros.

    En el dia de hoy me encuentro con la siguiente situación.

    tengo un textbox que me inserta la descripción en una columna este textbox tiene asignado como máximo escribir 20 caracteres,

    en la base de datos tengo un procedimiento almacenado.

    USE [DORDATA]
    GO
    
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    ALTER PROCEDURE [dbo].[SP_RegistrarProductoDorado]
    @Cmd nvarchar(1),
    @Dep nvarchar(2),
    @Plu nvarchar(6),
    @Descrip nvarchar(20)
    AS
    begin
    insert into SpluDordata  values(@cmd, @dep, @plu, @descrip)
    end

     A la columna descrip le tengo asignado el tipo de datos nvarchar(20). pero al momento de imprimir un reporte las descripciones con menos de 20 caracteres no se auto completan con espacios en blanco.

    ejemplo;

    '1' '02' '018226' 'Esto es un ensay'

    '1' '02' '017888' 'pan dulce           '

    Asi debería quedar

    pero queda asi

    '1' '02' '018226' 'Esto es un ensay'

    '1' '02' '017888' 'pan dulce'

    Las comillas simples es solo para realizar el ejemplo. existe alguna forma de obligarlo que me complete el espacio en blanco.

    Saludos,

    sábado, 19 de noviembre de 2016 20:56

Respuestas

  • karlosc,

    Debes cambiar el tipo de longitud variable (nvarchar) a un tipo de longitud fija (nchar). Sin embargo, si sólo se trata de otorgar formato podrías mantener el tipo nvarchar() en la columna y en la lista de selección puedes convertir el valor a longitud fija:

    SELECT CONVERT(nchar(20), descrip), ...


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 19 de noviembre de 2016 21:15

Todas las respuestas

  • karlosc,

    Debes cambiar el tipo de longitud variable (nvarchar) a un tipo de longitud fija (nchar). Sin embargo, si sólo se trata de otorgar formato podrías mantener el tipo nvarchar() en la columna y en la lista de selección puedes convertir el valor a longitud fija:

    SELECT CONVERT(nchar(20), descrip), ...


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 19 de noviembre de 2016 21:15
  • Perfecto Me funciono, Muchas gracias.

    Tomare para el futuro esta valiosa observación

    Gracias Nuevamente.......

    sábado, 19 de noviembre de 2016 23:29