none
como convierto en una insercion el tipo de dato varchar a varvinary(max) RRS feed

  • Pregunta

  • cree esta tabla


    create table clientes
    (
    id_cliente bigint identity (1,1) not null
    ,nombre varchar (50)not null
    ,rfc varchar (25) not null
    ,telefono int not null
    ,direccion varchar (30) not null
    ,correo varchar (30) not null
    ,fecha_de_registro date not null
    ,archivo_key varbinary(max) null
    ,archivo_cer varbinary(max) null
    ,archivos varbinary(max) null
    ,version_sistema numeric(3,1) null
    primary key(id_cliente)
    )


    insert into clientes values ('xxxxx','xxxxxxxx',1235647891,'xxxxxxxxxxx','sdfrerrgassd','2017/03/11','','','',1.4)

    pero quiero insertar datos, como se que por lo pronto no puedo insertar los documentos, como puedo hacer para que estos campos me queden vacíos, se los agradeceré, soy principiante




    • Editado cradleayax domingo, 12 de marzo de 2017 4:45
    domingo, 12 de marzo de 2017 4:44

Respuestas

  • cradleayax,

    Las columnas que has establecido con el tipo varbinary permiten NULL, por tanto, si no deseas insertar un array de bytes establece NULL.

    INSERT INTO Clientes 
    VALUES('nombre', 'rfc', 999999, 'direccion', 'correo@', '20170311', NULL, NULL, NULL, 1.4);
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta cradleayax domingo, 12 de marzo de 2017 5:42
    domingo, 12 de marzo de 2017 5:18
  • cradleayax,

    El tipo int permite valores numéricos hasta 2147483647, si excedes del intervalo entonces es de esperar que obtengas un error por desbordamiento aritmético:

    declare @num int = 2147483648;
    select @num;
    --Error de desbordamiento aritmético al convertir expression al tipo de datos int.
    GO

    No creo que un tipo numérico sea el adecuado para guardar números de teléfono y no sólo por la longitud del valor sino por el formato, por ejemplo +(57) 317 3669500. De igual manera con la columna [version_sistema], por ejemplo, tengo en este momento una instancia de SQL Server 2012 cuya versión es: 11.0.5388.0. Ambas columnas deberían tener un tipo varchar(n).


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta cradleayax domingo, 12 de marzo de 2017 6:18
    domingo, 12 de marzo de 2017 6:05

Todas las respuestas

  • cradleayax,

    Las columnas que has establecido con el tipo varbinary permiten NULL, por tanto, si no deseas insertar un array de bytes establece NULL.

    INSERT INTO Clientes 
    VALUES('nombre', 'rfc', 999999, 'direccion', 'correo@', '20170311', NULL, NULL, NULL, 1.4);
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta cradleayax domingo, 12 de marzo de 2017 5:42
    domingo, 12 de marzo de 2017 5:18
  • amigo, al parecer si me resulto, pero me salio este error

    tengo problemas con los tipos de datos.

    Mens. 8115, Nivel 16, Estado 2, Línea 1
    Error de desbordamiento aritmético al convertir expression al tipo de datos int.

    el unico tipo de dato int es el telefono, le puse sin apostrofes, o estoy fallando al poner el 1.4 en la version


    amilcar

    domingo, 12 de marzo de 2017 5:33
  • cradleayax,

    El tipo int permite valores numéricos hasta 2147483647, si excedes del intervalo entonces es de esperar que obtengas un error por desbordamiento aritmético:

    declare @num int = 2147483648;
    select @num;
    --Error de desbordamiento aritmético al convertir expression al tipo de datos int.
    GO

    No creo que un tipo numérico sea el adecuado para guardar números de teléfono y no sólo por la longitud del valor sino por el formato, por ejemplo +(57) 317 3669500. De igual manera con la columna [version_sistema], por ejemplo, tengo en este momento una instancia de SQL Server 2012 cuya versión es: 11.0.5388.0. Ambas columnas deberían tener un tipo varchar(n).


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta cradleayax domingo, 12 de marzo de 2017 6:18
    domingo, 12 de marzo de 2017 6:05
  • muchas gracias, si me sirvio, recibe un cordial saludo 

    amilcar

    domingo, 12 de marzo de 2017 6:18