SqlServerFunctions

SqlServerFunctions

Convert SQL CALCULATED fields into javascript code that can be evaulated and converted to data.

Constructor

new SqlServerFunctions()

Source:

Members

firstCase

Source:
Properties:
Type Description
Boolean

when working on each WHEN/THEN in CASE, is this the first one encountered.

matchCaseWhenThenStr

Source:
Properties:
Type Description
String

regex to find components of CASE statement.

originalCaseStatement

Source:
Properties:
Type Description
String

Original CASE statement.

originalFunctionString

Source:
Properties:
Type Description
String

Existing state of function string when CASE encountered.

referencedTableColumns

Source:
Properties:
Type Description
Array.<String>

Methods

adddate(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

case(_parms, args) → {String}

Source:
Parameters:
Name Type Description
_parms Array.<String>
args Array.<String>
Returns:
Type
String

caseEnd(func, funcString) → {String}

Description:
  • Finish up the javascript code to handle the select CASE.

Source:
Parameters:
Name Type Description
func String

current function being processed. If <> 'CASE', ignore.

funcString String

current SQL/javascript string in the process of being converted to js.

Returns:
  • updated js code
Type
String

caseStart(func, args, functionString) → {Array.<any>}

Description:
  • When examining the SQL Select CASE, parse for next WHEN,END condition.

Source:
Parameters:
Name Type Description
func String

current function worked on. If <> 'CASE', ignore.

args Array.<any>

default return value.

functionString String
Returns:
Type
Array.<any>

caseWhen(args) → {String}

Description:
  • Convert SQL CASE to javascript executeable code to solve case options.

Source:
Parameters:
Name Type Description
args Array.<any>

current CASE WHEN strings.

  • args[0] - entire WHEN ... THEN ...
  • args[1] - parsed string after WHEN, before THEN
  • args[2] - parse string after THEN
Returns:
  • js code to handle this WHEN case.
Type
String

ceiling(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

charindex(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

coalesce(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

concat(parms, _args, masterFields) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
_args Array.<String>
masterFields Array.<TableField>
Returns:
Type
String

concat_ws(parms, _args, masterFields) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
_args Array.<String>
masterFields Array.<TableField>
Returns:
Type
String

convert(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

convertToJs(calculatedFormula, masterFields) → {String}

Description:
  • Convert SQL formula to javascript code.

Source:
Parameters:
Name Type Description
calculatedFormula String

contains SQL formula and parameter(s)

masterFields Array.<TableField>

table fields

Returns:
  • javascript code
Type
String

curdate() → {String}

Source:
Returns:
Type
String

datediff(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

day(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

floor(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

getReferencedColumns() → {Array.<String>}

Source:
Returns:
Type
Array.<String>

if(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

left(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

len(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

length(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

log(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

log10(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

lower(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

ltrim(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

month(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

now() → {String}

Source:
Returns:
Type
String

parseFunctionArgs(func, functionString) → {Array.<String>}

Description:
  • Search for SELECT function arguments for specified 'func' only. Special case for 'CASE'. It breaks down one WHEN condition at a time.

Source:
Parameters:
Name Type Description
func String

an SQL function name.

functionString String

SELECT SQL string to search

Returns:
Type
Array.<String>

power(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

rand() → {String}

Source:
Returns:
Type
String

replicate(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

reverse(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String
Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

round(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

rtrim(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

space(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

sqrt(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

stuff(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

substr(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

substring(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

trim(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

upper(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

year(parms) → {String}

Source:
Parameters:
Name Type Description
parms Array.<String>
Returns:
Type
String

(static) adddate(parms) → {String}

Description:
  • Add number of days to a date and return JS code to return this date.

Source:
Parameters:
Name Type Description
parms Array.<any>

parms[0] - A date. parms[1] - Number of days to add to the date.

Returns:
Type
String

(static) charIndex(parms) → {String}

Description:
  • Find the position of a substring within a field - in javascript code.

Source:
Parameters:
Name Type Description
parms Array.<any>
  • parms[0] - string to search for
  • parms[1] - field name
  • parms[2] - start to search from this position (starts at 1)
Returns:
  • javascript code to find substring position.
Type
String

(static) coalesce(parms) → {String}

Description:
  • Returns first non-empty value in a list, in javascript code.

Source:
Parameters:
Name Type Description
parms Array.<any>

coalesce parameters - no set limit for number of inputs.

Returns:
  • javascript to solve
Type
String

(static) concat(parms, masterFields) → {String}

Source:
Parameters:
Name Type Description
parms Array.<any>
masterFields Array.<TableField>
Returns:
Type
String

(static) concat_ws(parms, masterFields) → {String}

Description:
  • Concatenate all data and use separator between concatenated fields.

Source:
Parameters:
Name Type Description
parms Array.<any>
  • parm[0] - separator string
  • parms... - data to concatenate.
masterFields Array.<TableField>

fields in table.

Returns:
  • javascript to concatenate all data.
Type
String

(static) convert(parms) → {String}

Description:
  • Convert data to another type.

Source:
Parameters:
Name Type Description
parms Array.<any>
  • parm[0] - value to convert
  • parms[1] - data type.
Returns:
  • javascript to convert data to specified type.
Type
String

(static) datediff(parms) → {String}

Description:
  • DATEDIFF(date1, date2) = date1 - date2 (as days)

Source:
Parameters:
Name Type Description
parms Array.<any>
Returns:
Type
String