NOT (U-SQL)
Summary
U-SQL’s logical NOT operator performs a negation of the Boolean expression and returns false if the expression evaluates to true and true if it evaluates to false. It is equivalent to the C# ! operator.
When more than one logical operator is used in an expression, NOT operators bind stronger than AND and OR. Parentheses can be used to change the binding precedence.
Syntax
NOT_Expression := 'NOT' Boolean_Expression.
Remarks
Return Type
Examples
- The examples can be executed in Visual Studio with the Azure Data Lake Tools plug-in.
- The scripts can be executed locally. An Azure subscription and Azure Data Lake Analytics account is not needed when executed locally.
Return all records where EmpName
does not start with E.
@data =
SELECT * FROM
(VALUES
(1, "Noah", 100, (int?)10000, new DateTime(2012,05,31)),
(2, "Sophia", 100, (int?)15000, new DateTime(2012,03,19)),
(3, "Liam", 100, (int?)30000, new DateTime(2014,09,14)),
(6, "Emma", 200, (int?)8000, new DateTime(2014,03,08)),
(7, "Jacob", 200, (int?)8000, new DateTime(2014,09,02)),
(8, "Olivia", 200, (int?)8000, new DateTime(2013,12,11)),
(9, "Mason", 300, (int?)50000, new DateTime(2016,01,01)),
(10, "Ava", 400, (int?)15000, new DateTime(2014,09,14)),
(11, "Ethan", 400, (int?)null, new DateTime(2015,08,22))
) AS T(EmpID, EmpName, DeptID, Salary, StartDate);
@result =
SELECT * FROM @data
WHERE NOT EmpName.StartsWith("E");
OUTPUT @result TO "ReferenceGuide/Operators/Logical/Not1.txt" USING Outputters.Csv();
// alternative
@result =
SELECT * FROM @data
WHERE !EmpName.StartsWith("E");
OUTPUT @result TO "ReferenceGuide/Operators/Logical/Not2.txt" USING Outputters.Csv();
// alternative
@result =
SELECT * FROM @data
WHERE EmpName NOT LIKE "E%";
OUTPUT @result TO "ReferenceGuide/Operators/Logical/Not3.txt" USING Outputters.Csv();