2013-10-18 17 views
8

Sto cercando di inserire il valore 0 in varbinary max per testare alcuni risultati. Ho provato a lanciare '' su binario, ho provato a inserire 0, ma lo converte in 0x00.Come inserire 0 nel campo varbinary (max)

C'è un modo per inserire solo 0 per un valore particolare?

+0

0x00 è la rappresentazione esadecimale 0. –

+0

@MattGrande penso OP indica una sequenza di byte vuota. – Matthew

+0

@MattGrande - c'è un modo per ottenere solo 0? – NoviceMe

risposta

17

Se stai cercando di rappresentare una sequenza di byte vuoto, impostare il suo valore a 0x

INSERT INTO MyTable(MyBinary) VALUES (0x) 

Ad esempio:

DECLARE @myTable TABLE (
    binaryField VARBINARY(MAX) NOT NULL 
) 

INSERT INTO @myTable(binaryField) VALUES(0x) -- 0 bytes 
INSERT INTO @myTable(binaryField) VALUES(0x11223344) -- 4 bytes 

SELECT *, len(binaryField) FROM @myTable 
+0

inserisce 0x ancora non solo 0. – NoviceMe

+1

Penso che il problema risieda nel modo in cui si tenta di rappresentare i dati nella colonna, non nella memorizzazione dei dati stessi. '0x' è la rappresentazione di una sequenza di byte vuota. – Matthew

Problemi correlati