Value

Value

Add or update a value associated with the specified key.

  • Val\Value (SQL_Variant)
  • ValueBigInt
  • ValueBinary
  • ValueBoolean
  • ValueByte
  • ValueBytes
  • ValueChars
  • ValueDateTime
  • ValueGuid
  • ValueInt
  • ValueString
  • ValueTinyInt
  • ValueXml
-- SELECT 3
SELECT SQLNET::New('x+1').ValueInt('x', 2).EvalInt() as Result

-- SELECT 3
SELECT SQLNET::New('x+1').ValueInt('x', 2).EvalInt() as Result

-- SELECT 1
SELECT SQLNET::New('x.Length').ValueBinary('x', 0x11).Eval() as Result

-- SELECT 'ZZZ Projects'
SELECT SQLNET::New('"ZZZ " + x').ValueString('x', 'Projects').Eval() as Result

For maximum performance, the right Value[Type] should be always used over Val && Value

ValueNullable

  • Val\Value (require to specify the type in the key "int? x")
  • ValueBigInt
  • ValueBoolean
  • ValueByte
  • ValueBytes
  • ValueDateTime
  • ValueGuid
  • ValueInt
  • ValueTinyInt
DECLARE @x1 INT = NULL;
DECLARE @x2 INT = 2;

DECLARE @sqlnet SQLNET = SQLNET::New('x.HasValue ? x.Value + 1 : 0');

-- SELECT 0
SELECT @sqlnet.ValueNullableInt('x', @x1).EvalInt() as Result

-- SELECT 3
SELECT @sqlnet.ValueNullableInt('x', @x2).EvalInt() as Result

ValueSQLNET

Add or update a value associated with the specified key. The parameter "value" from the previously resolved expression is used.

DECLARE @sqlnet SQLNET = SQLNET::New('var list = new List<int>() { 1, 2, 3, 4}')
DECLARE @result SQLNET = @sqlnet.EvalSQLNET()

-- SELECT 4
SELECT SQLNET::New('x.Count').ValueSQLNET('x', @result).Eval()  AS Result 

GetValue

Gets the value associated with the specified key.

  • GetValue(string key)
  • GetValueBigInt(string key)
  • GetValueBit(string key)
  • GetValueInt(string key)
  • GetValueSmallInt(string key)
  • GetValueString(string key)
  • GetValueTinyInt(string key)
-- SELECT 1
SELECT SQLNET::New('x + 1').Val('x', 1).GetValue('x') as Result

-- SELECT 1
SELECT SQLNET::New('x + 1').Val('x', 1).GetValueBigInt('x') as Result