Red de conocimiento del abogados - Ley de patentes - ¿Qué significa if(task.bt_flag = 'yes', 1, 0) en la declaración SQL?

¿Qué significa if(task.bt_flag = 'yes', 1, 0) en la declaración SQL?

El manual de mysql dice:

IF(expr1, expr2, expr3)

Si expr1 es verdadero (expr1 lt; gt; 0 y expr1 lt; gt ; NULL), entonces IF() devuelve expr2; de lo contrario, devuelve expr3. IF() devuelve un número o cadena, dependiendo del contexto en el que se utiliza:

mysqlgt; SELECT IF(1gt; 2, 2, 3)

-gt ; 3

mysqlgt; SELECCIONAR SI(1lt; 2, 'sí', 'no');

-gt; 'sí'

mysqlgt; (STRCMP('test','test1'),'no','yes');

-gt; 'no'

Si expr2 o expr3 es explícitamente NULL, entonces el tipo de valor de retorno de la función IF() es el tipo de columna no NULL. (Esta opción es nueva en MySQL 4.0.3). expr1 se evalúa como un valor entero, lo que significa que si la prueba es un valor de punto flotante o de cadena, se debe realizar una operación de comparación:

mysqlgt; p>

-gt; 0

mysqlgt; SELECCIONAR SI(0.1lt; gt; 0, 1, 0);

-gt; >En el primer caso anterior, IF(0.1) devuelve 0 porque 0.1 se convierte a un valor entero y devuelve el resultado de la prueba de IF(0). Puede que esto no sea lo que esperas. En el segundo caso, la comparación prueba si el número de punto flotante original es un valor distinto de cero. El resultado de la comparación se utiliza como un número entero. El tipo de valor de retorno IF() predeterminado (esto es muy importante cuando los resultados se almacenan en una tabla temporal) se determina en MySQL 3.23 de la siguiente manera: expresión valor de retorno

expresión (expr2) O expresión (expr3) el valor de retorno es una cadena cadena

Expresión (expr2) o expresión (expr3) el valor de retorno es un valor de punto flotante tipo de punto flotante

Expresión El valor de retorno de (expr2) o expresión ( expr3) es un número entero

Si la expresión (expr2) y la expresión (expr3) son ambas cadenas, y ambas cadenas ignoran el tamaño de la letra. Si se escribe, el valor de retorno también ignora el caso de las letras (a partir de MySQL 3.23 .51).