tipos tipo texto tamaño tabla los insertar describa datos dato coincidencias buscar brevemente sql-server sql-server-2005

texto - Convertir el tipo de bit a Sí o No por consulta SQL Server 2005



tipos de datos en sql server (5)

Quiero convertir el tipo de bit a Sí o No

Por ejemplo:

SELECT FirstName, LastName, IsMale from members

Resultados:

Ramy Said 1

Resultado Esperado:

Ramy Said Yes


Aqui tienes:

SELECT FirstName, LastName, CASE WHEN IsMale = 1 THEN ''Yes'' ELSE ''No'' END AS Male FROM members

Básicamente, utiliza una instrucción CASE para permitirle convertir el valor. Si tenía tres opciones, aún podría usar la declaración de caso y simplemente agregar otra opción (obviamente no puede tener tres opciones con un poco, pero si el campo era un int, etc.) La declaración ELSE es la declaración predeterminada que se ejecuta si no consigues una coincidencia En nuestro caso, solo lo usamos para No, ya que solo podemos tener un sí o un no, pero en el caso de una declaración CASE más grande, querría usar esto como su campo alternativo. Por ejemplo, podría decir "Elemento no encontrado" si estuviera convirtiendo elementos.


Puedes hacer esto usando una expresión de caso buscado :

SELECT FirstName, LastName, CASE WHEN IsMale = 1 THEN ''Yes'' ELSE ''No'' END AS IsMale FROM Members


SQL Server 2012 introduce dos nuevas palabras clave FORMAT y IIF que pueden proporcionar un medio más compacto para convertir un entero o un bit en una cadena:

DECLARE @MyInt int = 123 PRINT ''Hello ''+FORMAT(@MyInt,'''') -- (note: the "+0" converts a bit type to int then outputs ''0'' or ''1'') DECLARE @MyBit bit = 0 PRINT ''Hello ''+FORMAT(@MyBit+0,'''')

Pero para convertir un tipo de bit a Yes o No ahora usaría:

PRINT ''Hello ''+IIF(@MyBit=1,''Yes'',''No'')


Utilice un IIF() que está disponible en SQL Server 2012 adelante.

Hay otra forma de lograr esto. (forma abreviada (tal vez no)) . Eso es usar IIF() . Vea abajo.

SELECT [FirstName], [LastName], IIF([IsMale]=1,''Yes'',''No'') AS [IsMale As String] FROM [Members]


Utilizar un caso

SELECT FirstName, LastName, CASE IsMale WHEN 1 THEN ''Yes'' ELSE ''No'' END AS IsMale FROM tbl