¿Cómo podemos verificar en una condición SQL Server WHERE
si la columna no es nula y no es la cadena vacía (''
)?¿Cómo comprobar si no hay cadena vacía y no está vacía en el servidor SQL?
Respuesta
Si sólo desea hacer coincidir "" como una cadena vacía
WHERE DATALENGTH(COLUMN) > 0
Si desea contar con cualquier cadena que consiste completamente en espacios tan vacío
WHERE COLUMN <> ''
Ambos no volverá NULL
valores cuando se utiliza en una cláusula WHERE
. Como NULL
se evaluará como UNKNOWN
para estos en lugar de TRUE
.
CREATE TABLE T
(
C VARCHAR(10)
);
INSERT INTO T
VALUES ('A'),
(''),
(' '),
(NULL);
SELECT *
FROM T
WHERE C <> ''
Devuelve solo la fila A
. Es decir. Las filas con NULL
o una cadena vacía o una cadena que consiste en su totalidad en espacios están todas excluidas por esta consulta.
WHERE NULLIF(your_column, '') IS NOT NULL
Hoy en día (4,5 años en), para que sea más fácil para un ser humano a leer, me acaba de utilizar
WHERE your_column <> ''
Si bien existe la tentación de hacer el cheque nulo explícita ...
WHERE your_column <> ''
AND your_column IS NOT NULL
... como demuestra @Martin Smith en la respuesta aceptada, en realidad no agrega nada (y yo personalmente evito los nulos de SQL por completo hoy en día, por lo que no se aplicaría a mí de todos modos).
Coalesce se plegará nulos en un defecto:
COALESCE (fieldName, '') <> ''
Esta condición lleva a cabo un "espacio nulo, vacío o blanco" comprobar, sin la manipulación de cadenas innecesaria de LTRIM
y RTRIM
.
SELECT
*
FROM
[Table]
WHERE
COALESCE(PATINDEX('%[^ ]%', [Value]), 0) > 0
una manera respetuosa del índice de hacer esto es:
where (field is not null and field <> '')
Si no hay muchas filas o este campo no está indexado, puede utilizar:
where isnull(field,'') <> ''
cheque: donde el valor> '' - no es nulo y no está vacío
-- COLUMN CONTAINS A VALUE (ie string not null and not empty) :
-- (note: "<>" gives a different result than ">")
select iif(null > '', 'true', 'false'); -- false (null)
select iif('' > '', 'true', 'false'); -- false (empty string)
select iif(' ' > '', 'true', 'false'); -- false (space)
select iif(' ' > '', 'true', 'false'); -- false (tab)
select iif('
' > '', 'true', 'false'); -- false (newline)
select iif('xxx' > '', 'true', 'false'); -- true
--
--
-- NOTE - test that tab and newline is processed as expected:
select 'x x' -- tab
select 'x
x' -- newline
en modo básico
SELECT *
FROM [TableName]
WHERE column_name!='' AND column_name IS NOT NULL
- 1. ¿Cómo comprobar si una cadena está vacía en Emacs Lisp?
- 2. ¿Cómo comprobar si la matriz no está vacía?
- 3. Comprobar si la colección está vacía o no
- 4. Compruebe si la cadena está vacía
- 5. Agregar a la cadena si la cadena no está vacía
- 6. VBA Comprobar si la variable está vacía
- 7. Servidor SQL: cambiar una cadena vacía a una cadena vacía en la declaración de selección
- 8. ¿Cómo puedo comprobar si una secuencia está vacía en F #?
- 9. ¿Cómo comprobar si una lista está vacía en Python?
- 10. Determinar si una cadena está "vacía"
- 11. ¿Cómo comprobar rápidamente si la carpeta está vacía (.NET)?
- 12. ¿Cómo comprobar si una deque está vacía en Python?
- 13. Perl ¿cómo comprobar si la matriz todavía está vacía?
- 14. Python: ¿Cómo comprobar si una lista anidada está esencialmente vacía?
- 15. Postgres - ¿Cómo comprobar si hay una matriz vacía
- 16. ¿Cómo comprobar si la matriz es nula o está vacía?
- 17. Con iOS, cómo comprobar si la URL está vacía
- 18. Powershell y parámetros de SQL. Si cadena vacía, pase DBNull
- 19. ¿Cómo puedo verificar si una cadena de servidor Sql es nula o está vacía?
- 20. Comprobar si img src está vacía usando jQuery
- 21. ¿Cómo encontrar si una matriz json está vacía o no?
- 22. ¿Cómo comprobar que la próxima 'cabecera' en OCaml está vacía?
- 23. ¿Cómo comprobar si una variable de tabla está vacía en SQL Server?
- 24. ¿Debe comprobar null & length o hay una forma más corta de verificar una cadena no vacía?
- 25. Prueba Powershell si la carpeta está vacía
- 26. Ver cadena vacía en jsp
- 27. Reemplazar no numérico con cadena vacía
- 28. C#: dividiendo una cadena y no volver cadena vacía
- 29. Comprobar si el campo XML de SQL Server 2005 está vacía
- 30. cadena no vacía de PhoneStateListener :: onCallStateChanged
¿Por qué no 'WHERE COALESCE (column, '') <> '''? –
Porque si 'column' tiene un índice, entonces su consulta probablemente no lo use – Lamak