cjm2671
cjm2671

Reputation: 19486

What is the difference between nulltypes :: and 0n in KDB?

Both of these appear to be null types, but seem to behave differently.

For example, if instantiate a dictionary with

`a`b!(0n 0n)

I'm unable to upsert integers, where as I can if i do:

`a`b!(:: ::)

I can. What is the difference between 0n and ::?

Upvotes: 0

Views: 1024

Answers (1)

Matt Moore
Matt Moore

Reputation: 2800

0N actually defaults to 0Nj. Same way if you define non-float numbers they will also be long. 0N is not equivalent to :: because of this.

If you want the values of your dictionary to be integers, you would need to define it as such: `a`b!0N 0Ni (or keep it as generic null with the identity)

Upvotes: 1

Related Questions