Establecer un valor máximo para una expresión

I am trying to create a score based on the char_length of a field. I am using a fraction of the char_length devuelto.

 (CASE WHEN (char_length(e.summary)/100) is null THEN +0
  ELSE +(char_length(e.summary)/100) END)

I would like to know how to set a maximum return value. Is there a simple function or do I need to do one more CASE WHEN with if >=10 THEN ...?

preguntado el 03 de mayo de 12 a las 21:05

2 Respuestas

Simplify to:

LEAST(COALESCE(length(e.summary)/100, 0), 10)
  • Utiliza MENOS() to introduce an upper border as @Mark already mentioned.
  • Utiliza JUNTARSE() to provide a default for NULL valores.
  • length() hace lo mismo que char_length()

contestado el 09 de mayo de 12 a las 00:05

Puede utilizar el least función.

least(<YOUR CALC HERE>, 10) limits the maximum value returned to 10.

contestado el 06 de mayo de 12 a las 01:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.