Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [ MySQL] - Ricerca spazio

    ho un archivio grezzo e dovrei ricercare nel campo denominazione se ci sono spazi
    per identificare eventuali denominazioni incomplete...

    esempio (contenuto del campo denominazione)
    codice:
    1:-->Mario Rossi
    2:-->Franco Fontana
    3:-->Luca
    4:-->Enrico Ciaffi
    il record 3 presenta solo il nome, gli altri nome e cognome,
    per identificarlo mi occorre rivelare lo spazio che li separa.


    cichity74

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    select * from tabella where instr(campo,' ') = 0

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Scusa ma cosi' se ho uno spazio Non nel primo carattere?

    In str ritorna il valore di poszione della sottostringa all'interno della stringa io lo farei con un like

    select * from tabella where campo like '% %';

    Cosi' ottieni tutte le stringhe che hanno uno o piu' spazi.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Virus_101
    Scusa ma cosi' se ho uno spazio Non nel primo carattere?
    Non l'ho capita.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Ho scritto male cmq :

    instr(str,substr) ritorna la posizione dell'occorrenza della sottostringa nella stringa.

    Come lo fai te controlla che lo spazio occorra solo sul primo carattere.
    Da quello che ho capito di cosa serve a nicola75ss, credo gli serva controllare tutte le righe che hanno anche solo uno spazio, in qualsiasi posizione.
    Quindi il "like" a mio avviso e' piu' indicato perche' fa prorpio questo, like '% %' controlla la stringa e se esiste anche solo uno spazio seguito o preceduto da qlsiasi cosa.In questo caso restitusce true e la riga viene caricata, restituendo quindi i le righe con il campo bersaglio contenente almeno 1 spazio.

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Virus_101
    Come lo fai te controlla che lo spazio occorra solo sul primo carattere.
    Ma manco per sogno.
    Come l'ha scritta nicola restituisce le righe che non hanno spazi in quel campo

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Gia' vero scusa mi sono confuso con la strpos di php che restitusce 0 se trova al primo carattare e il booleano false se nn trova.

    Chiedo venia.

    Cmq io userei prue una trim senno' c'e' rischio di identificare erroneamente qlke campo.

    esempio :
    "Mario Rossi" -> campo completo
    "Mario" -> campo incompleto
    "Mario " -> campo incompleto?
    " Rossi" ->campo incompleto?

    Puoi fare la select cosi' :
    select * from tabella where instr( trim(campo) ,' ') = 0

    Oppure lanciare a mano un update una volta sola per pulire i dati e poi effettuare in tranquillita' la select.
    update tabella set campo = trim(campo);
    e poi fai la select
    select * from tabella where instr(campo,' ') = 0

    Io ti consiglio la prima soluzione cmq perche' cosi' vai a estrarre i dati che ti servono senza modificare quelli inseriti in precedenza.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.