Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Query con Like

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Query con Like

    ciao Amici,
    ho bisogno del vostro aiuto.

    ho una tabella raccoglitori composta da
    IDArchivio, IDRecord, Testo, Data, Valore
    IDArchivio e IDRecord sono INT(10)
    Testo è tipo Text
    Data è tipo DateTime
    Valore INT(10)

    In un record, oltre a idArchivio e idRecord che sono sempre presenti, memorizzo un testo oppure una data oppure un valore (nel rispettivo campo)

    La query capisce in quali campi cercare valutando quale campo (fra testo, data e valore) non è vuoto.

    La query funziona ma sembra essere case sensitive sulle stringhe.
    La collation della mia tabella però è utf8_unicode_ci quindi non dovrei avere questo problema.

    select DISTINCT IDArchivio, IDRecord from raccoglitori where CONCAT(IFNULL(Testo,''), IFNULL(DATE_FORMAT(Data, '%d/%m/%Y'),''), IFNULL(Valore,'')) LIKE '%Stringa da Cercare%' order by IDArchivio

    Se nel database ho un record con un campo (esempio testo) con la stringa "Stringa da Cercare" la query mi trova i record correttamente.
    Se invece ho record contenenti la stringa "stringa da cercare" non trova nulla.

    Ho provato a forzare con UPPER e fare il confronto fra il testo forzato e in maiuscolo "STRINGA DA CERCARE" ma non funziona.

    Qualcuno può aiutarmi?

    Grazie 1000
    Guidino

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Up...
    Guidino

  3. #3
    aggiungi alla fine della query COLLATE SQL_Latin1_General_CP1_CI_AS
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie della risposta mr.click,
    ma cos'è COLLATE SQL_Latin1_General_CP1_CI_AS?
    Ho provato e mi da errore:
    #1273 - Unknown collation: 'SQL_Latin1_General_CP1_CI_AS'

    Non conosce questa collation.


    Quindi ho provato con collate utf8_unicode_ci che è la collation che io uso per il campo (ho verificato) ma MySQL mi da errore:
    #1253 - COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'binary'

    Eppure la collatione del DB è utf8_unicode_ci ed anche quella del campo testo della tabella raccoglitori.

    Forse MySql non può usare il tuo suggerimento perchè i campi valore e data non hanno la collation utf8_unicode_ci (sono di tipo dateTime e INT)?

    Grazie
    Guidino

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Up
    Guidino

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie a tutti della collaborazione.

    Ho risolto da solo e funziona alla grande.
    Guidino

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 © 2025 vBulletin Solutions, Inc. All rights reserved.