Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560

    [Oracle] L'operatore SQL Like fa come gli pare!!!

    Prima di tutto, mi scuso se ho aperto il 3d nel forum sbagliato...

    Vorrei chiedere a chi ha più esperienza di me perchè una query SQL su Oracle 8 con all'interno l'operatore LIKE non restituisce gli stessi risultati di tutti gli altri database.
    Nelcaso specifico, a parte il case sensitive che tutti sappiamo, c'è una differenza se utilizzo il nomecampo LIKE %barb% ad esempio:

    access restituirà: barba, barbetta e barberini
    mentre oracle niente. In pratica il LIKE non funziona, mi restituisce qualcosa solo se trova una corrispondenza esatta sulla parola. Quindi se inserisco barba mi darà tutti i rercord che nel campo indicato in una posizione qualsiasi contengono la parola 'barba'.

    Perchè? Ho letto una file di documentazione trovato su internet e ovviamente c'è scritto che dovrebbe comportarsi come access invece.
    Sapete aiutarmi?

    grazie

  2. #2
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157
    Ed invece si comporta così perché cerca dei caratteri prima della lettera "b".

    Comunque da ciò che hai scritto presumo che la stringa barb sia contenuta tra gli apicetti.
    Se non sbaglio dalla versione 10g la query di Oracle legge anche i caratteri che iniziano con la lettera 'b' anche se c'è la percentuale avanti.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da ghini76
    Prima di tutto, mi scuso se ho aperto il 3d nel forum sbagliato...
    Come si fa ad incorporare le scuse di essersi sbagliati prima di inviare il messaggio?
    Basta non inviarlo e fare le dovute correzioni. :master:

    Sposto la discussione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Si ovviamente intendevo '%barb%'... una piccola disattenzione...
    cmq dicevo che il % mi serve da entrambi i lati perhè il 'barb' potrebbe essere anche l'inizio o il centro di una seconda o terza parola? Esattamente come funziona su Access...

    Oracle 10g purtroppo non lo posso installare per ora... devo combattere con l'8i!!! Non c'è uno stratagemma per fregarlo?

  5. #5
    Utente di HTML.it L'avatar di Shea
    Registrato dal
    Jul 2000
    Messaggi
    157
    Fai un if e mettti le due condizioni.
    Soprattutto se stai facendo un function, un package o una procedure.

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.