Che cosa fa il segno di omissione (^) nella seguente query di SQL Server?Cosa fa un segno di omissione (^) in una query SQL?
SELECT 1^2, 1^3;
che dà i risultati:
3 2
mi sono imbattuto in questa prima di trovare la funzione SQUARE().
Che cosa fa il segno di omissione (^) nella seguente query di SQL Server?Cosa fa un segno di omissione (^) in una query SQL?
SELECT 1^2, 1^3;
che dà i risultati:
3 2
mi sono imbattuto in questa prima di trovare la funzione SQUARE().
Il segno di omissione (^) si traduce nell'operatore XOR, che è un "bitwise exclusive o". In inglese semplice significa "entrambi, ma non entrambi". Ecco ciò che fa:
decimal 1 = binary 001 decimal 1 = binary 001
XOR XOR
decimal 2 = binary 010 decimal 3 = binary 011
= =
decimal 3 = binary 011 decimal 2 = binary 010
Maggiori informazioni sulla pagina di MSDN per bitwise operations.
3^2
=
000011 (3)
xor
000010 (2)
=
000001 (1)
=
1
Penso che il tuo segno più sia fuorviante - questo non è aggiungere, questo è XOR dei numeri. Il tuo setup funziona per il primo esempio di 1^2 ma fallirebbe nel secondo esempio di 1^3 –
@Dave McClelland Grazie per il commento, stavo pensando allo stesso modo. –
Devo inserire un ninja tra il tuo primo post e la tua revisione. Sembra buono ora :) –