2013-10-18 16 views
8

Próbuję wstawić wartość 0 w varbinary max, aby przetestować niektóre wyniki. Próbowałem rzucić '' na binarny, próbowałem wprowadzić 0 do niego, ale konwertuje go do 0x00.Jak wstawić 0 w polu varbinary (max)

Czy istnieje sposób wprowadzania wartości 0 dla określonej wartości?

+0

0x00 jest szesnastkowa reprezentacja 0. –

+0

@MattGrande myślę OP oznacza pustą sekwencję bajtów. – Matthew

+0

@MattGrande - czy jest jakiś sposób, aby uzyskać tylko 0? – NoviceMe

Odpowiedz

17

Jeśli szukasz do reprezentowania pusty sekwencję bajtów, ustaw jej wartość na 0x

INSERT INTO MyTable(MyBinary) VALUES (0x) 

Na przykład:

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

wpisuje 0x nadal nie tylko 0. – NoviceMe

+1

Myślę, że problem leży w sposobie, w jaki próbujesz reprezentować dane w kolumnie, a nie w przechowywaniu samych danych. '0x' jest reprezentacją pustej sekwencji bajtów. – Matthew

Powiązane problemy