NumberBin (NoSQL-fråga)

GÄLLER FÖR: NoSQL

Avrundar det numeriska uttryckets värde nedåt till en multipel med angiven lagerplatsstorlek.

Syntax

NumberBin(<numeric_expr> [, <bin_size>])

Argument

beskrivning
numeric_expr Ett numeriskt uttryck som utvärderas och sedan avrundas det resulterande värdet till en multipel av den angivna lagerplatsstorleken.
bin_size(Valfritt) Ett numeriskt värde som anger den bin-storlek som ska användas vid avrundning av värdet. Det här numeriska värdet är standardvärdet 1 om det inte anges.

Returtyper

Returnerar ett numeriskt värde.

Exempel

I det här första exemplet finns ett enda statiskt tal med olika lagerplatsstorlekar.

SELECT VALUE {
    roundToNegativeHundreds: NumberBin(37.752, -100),
    roundToTens: NumberBin(37.752, 10),
    roundToOnes: NumberBin(37.752, 1),
    roundToZeroes: NumberBin(37.752, 0),
    roundToOneTenths: NumberBin(37.752, 0.1),
    roundToOneHundreds: NumberBin(37.752, 0.01)
}
[
  {
    "roundToNegativeHundreds": 100,
    "roundToTens": 30,
    "roundToOnes": 37,
    "roundToOneTenths": 37.7,
    "roundToOneHundreds": 37.75
  }
]

I nästa exempel används ett fält från ett befintligt objekt.

[
  {
    "name": "Ignis Cooking System",
    "price": 155.23478,
    "category": "portable-cooking"
  }
]

Den här frågan avrundar föregående fält med hjälp av funktionen .

SELECT
    p.name,
    NumberBin(p.price, 0.01) AS price
FROM
    products p
WHERE
    p.category = "portable-cooking"
[
  {
    "name": "Ignis Cooking System",
    "price": 155.23
  }
]

Kommentarer

  • Den här funktionen returnerar undefined om den angivna lagerplatsstorleken är 0.
  • Standardstorleken för lagerplatsen är 1. Den här bin-storleken returnerar effektivt ett numeriskt värde avrundat till nästa heltal.

Se även