3 ms·
If only it had a name that was more indicative of that, like UNKNOWN, or UNDEFINED or INDERTIMINATE or something.
by thayne 2y ago
If only it had a name that was more indicative of that, like UNKNOWN, or UNDEFINED or INDERTIMINATE or something.
- dominicrose 2y agoJavascript has both null and undefined and I'm not sure that's a good idea. At least in SQL we only have one of them, but it can mean unknown or it can mean N/A or even false. It's like a joker, what it means depends on how you use it.
- hun3 2y agoOr VBA, which has Empty, Null, and Nothing: https://excelbaby.com/learn/the-difference-between-empty-null-and-nothing-in-vba/ https://excelbaby.com/learn/the-difference-between-empty-nul... (and sometimes Missing)
- hobs 2y agoNo, it's not those other things, that's just using the tool incorrectly. A NULL is definitely "we dont know", not false, not N/A, especially not any known value.
- swiftcoder 2y agoExcept in every other programming language with a null, null is the definite absence of something
- hobs 2y agoSure, and we're talking about SQL nulls in this context, which is why I am strict in my definition.
- dominicrose 2y agoYes and I think that Clojure handles nil pretty well, and it's a functional programming language like SQL. It's also interesting to see that Typescript has added an unknown type. So something that's a value in SQL (null being unknown) is a type in TS.
- salawat 2y agoNull is shorter, and given the nightmarish queries I've had to read/write, I'll take any mercy that comes my way.
- Pxtl 2y agoHonestly, at this point I just wish SQL servers supported proper discriminated union types and nullable columns were implemented as some kind of MaybeKnown<T> and I could just have a normal Maybe<T> with normal equality semantics if I wanted. SQL needs to join 21st century type systems... or needs to get replaced altogether. SQL is the FORTRAN of relational programming languages, but hangs around because every time somebody tries to replace it they throw the relational-theory baby out with the bath-water.
- johnthescott 2y ago> SQL is the FORTRAN of relational programming languages and what is an alternative to sql ... quel?
- atombender 2y agoE. F. Codd originally suggested two types of values: "unknown" and "missing". Somehow we got NULL, which represents both. ANSI SQL:1991 provides an optional feature that introduces a special value UNKNOWN to boolean expressions [1]. But few databases support it. MSSQL [2] is one of the few that do. As I understand it, it's not a data type that be used in tables, but is only a potential result of boolean operations. [1] https://modern-sql.com/concept/three-valued-logic https://modern-sql.com/concept/three-valued-logic [2] https://learn.microsoft.com/en-us/sql/t-sql/language-elements/null-and-unknown-transact-sql https://learn.microsoft.com/en-us/sql/t-sql/language-element...