FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Buscar una linea completa en un campo blob
Tengo un campo Blob de tipo texto de la siguiente forma
Registro1: linea1 linea2 Registro 2: linea3 linea2 || linea4 ... || linea2 || .... linea5 . . . Lo que necesito hacer es una consulta que me devuelva sólo los registros en los que aparece en una línea sola en el campo blob con el texto que busco. Ej: Si busco "linea2" sólo me debe aparecer el registro 1 y no el 2 aunque en la 2ª linea aparezca ese mismo texto pero hay algo más. Por lo que no puedo utilizar sentencias como: Gracias. Última edición por ecfisa fecha: 07-02-2011 a las 18:29:06. Razón: Etiquetas SQL |
#2
|
|||
|
|||
hola,
no se si te he entendido bien, pues si buscas linea2 la estas buscando en todos los registros. De todas maneras, si realmente hay diferencia entre las dos 'linea2' que estas buscando, puedes usar algo como
vamos, descartar las 'linea2' que son diferentes. Si no hay diferencia, sinceramente no se como podrias buscarlas. Saludos. |
#3
|
|||
|
|||
Quizas no me hay explicado bien, lo que intento hacer es buscar que registros contienen una linea de texto en un campo blob pero debe aparecer este texto entero sin nada más en una sóla linea. Aunque este blob puede contener más líneas con otras cosas.
(principio de linea) texto_a buscar (fin de linea) He probado lo que me planteas pero no funciona. Gracias |
#4
|
|||
|
|||
vale, ahora te entendi. Si sabes de antemano el valor a buscar, entonces quizas deberias guardar en el campo en cuestion ese valor directamente, sin tener que 'sacarlo' de la tabla en si. Algo asi como
No conozco bien bien el funcionamiento de los alias, por lo que quiza esta sentencia exactamente te de error, pero la idea es esa. Saludos. |
#5
|
|||
|
|||
La consulta que me envías no puede funcionar ya que en el campo3 de todos los registros siempre tiene el mismo valor "texto a buscar".
|
#6
|
|||
|
|||
No, en la consulta que estoy haciendo estoy cogiendo los campos1 y campos2 de la tabla, mientras que creo un alias en campo3 con el valor que directamente buscas (y que es el que quieres). veo que no cogiste la idea. Quizas la sintaxis este mal, pero la idea es esa. Un saludo
|
#7
|
|||
|
|||
releyendo el primer post...me da que lo mejor es tal cual te respondi: seleccionar los que tienen 'linea2' y descartar los que tienen 'linea2' y algo mas
|
#8
|
||||
|
||||
Hola
Prueba esto : select * from mitabla where campo containing 'linea2' || ascii_char(13) Si buscas las lineas con linea2 + un salto de carro, entonces estarás seguro de que no hay nada más a continuación de ella. Por cierto, prueba también con ascii_char(10), ya que nunca estoy seguro de como se implementan los saltos de línea (hay los CR y los LF). NOTA: Si tu versión de Firebird no reconoce ascii_char() como una función interna, declárala mediante esta sentencia : DECLARE EXTERNAL FUNCTION ASCII_CHAR INTEGER RETURNS CSTRING(1) FREE_IT ENTRY_POINT 'IB_UDF_ascii_char' MODULE_NAME 'ib_udf';
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#9
|
|||
|
|||
No te preocupes lo voy a solucionar de otra forma, de todas formas comentarte que no puede funcionar lo que me expones ya que si te fijas en mi primer post en ambos registros aparece "linea2" dentro del mismo campo pero tambien en ambos registros aparece más texto ya sea en la misma linea o en otra y like o containing no pueden distinguir si en el memo esta en una sóla linea o esta junto con mas texto. Al menos que haya alguna forma de pasarle el principio y final de linea.
like /n||'linea2'||/n De todas formas muchas gracias por tu tiempo. |
#10
|
|||
|
|||
Gracias guillotmarc, eso es exactamente lo que quería.
|
#11
|
|||
|
|||
no nos entendimos desde el principio. La idea era precisamente descartar los que tenian principio i final de linea. Supuse que los representabas con los caracteres ||. En fin, si lo solucionaste, mejor para ti. Un saludo.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Buscar texto en un campo blob | diegofhernando | Conexión con bases de datos | 3 | 25-07-2006 01:53:51 |
Campo BLOB | Loviedo | Oracle | 1 | 05-05-2006 10:36:31 |
Avance de Linea en Campo BLOB | AGAG4 | Firebird e Interbase | 0 | 21-09-2004 02:14:00 |
campo blob | acertij022 | Conexión con bases de datos | 1 | 19-08-2004 00:10:32 |
Buscar por un campo | robero espinoza | Conexión con bases de datos | 2 | 01-10-2003 19:21:15 |
|