2009-10-09 28 views

Respuesta

86

¿Qué tal:

SELECT * FROM sometable WHERE CHAR_LENGTH(LINK) > 1 

Aquí está la MySql string functions page (5,0).

Tenga en cuenta que he elegido CHAR_LENGTH en lugar de LENGTH, ya que si hay caracteres de varios bytes en los datos que está probablemente muy interesado en el número de caracteres que hay, no cuántos bytes de almacenamiento que toman. Por lo tanto, para lo anterior, una fila donde LINK es un carácter de dos bytes no se devolverá, mientras que si se usa LENGTH.

Tenga en cuenta que si es LINKNULL, el resultado de CHAR_LENGTH(LINK) será NULL así, por lo que la fila no coincidirá.

+0

Puedo confirmar que esto funciona en un DB2 también. ¡Gracias, JJ Skeet! – Yaniv

+1

Funciona perfectamente Gracias por la respuesta :) –

11
select * from [tbl] where [link] is not null and len([link]) > 1 

Para el usuario de MySQL:

LENGTH([link]) > 1 
+1

El La sintaxis '[identifier]' es utilizada solo por MS SQL - SQL Server y Access (hasta donde yo sé). Esta pregunta es sobre MySQL. – dcrosta

+3

No creo que len() sea una función MySql válida – ChssPly76

+0

Oh, sí, me perdí por completo esa parte de la pregunta. ¿Debo eliminar esta respuesta, ya que no es relevante? – Amy

4

Probar:

SELECT 
    * 
FROM 
    YourTable 
WHERE 
    CHAR_LENGTH(Link) > x 
5

Por si acaso alguien quiere encontrar la forma de oráculo y llegó aquí (como yo), la sintaxis es

select length(FIELD) from TABLE 

por si acaso;)

Cuestiones relacionadas