Like..?

dorrere

New member
Like..?

שלום. נגיד ויש לי משפט: I want to work. נניח ואדם חיפוש I want אז הכל בסדר, במידה והוא מחפש I work הוא לא מקבל כלום, למה? אני רוצה שהחיפוש יהיה מאוד רחב. חשבתי לקחת את המשפט, לפרק אותו למילים עם explode ואז להריץ LIKE על כל אחד אבל איך עושים זאת? איך מריצים את ה LIKE על כל אחד? תודה!
 

0 אור 0

New member
בדקתי וזה עובד

אתה יוצר שרשרת של תנאים של המילים שאתה רוצה לבדוק עם * באמצע (וכמובן בהתחלה)
Like '*' & "in" & '*' & "work" & '*'​
 

dorrere

New member
ככה? לא עובד לי פשוט..

SELECT DISTINCT title FROM `tutorials` WHERE `title` like '*' & "i" & '*' & "work" & '*''​
לא הבנתי מתי אתה שם כוכבית, איפה המילה הראשונה, איפה השנייה, מה פשר &. אשמח להסבר, תודה!
 

0 אור 0

New member
אתה כנראה צריך שישיב לך מי שעובד ממש עם SQL

אני בודקת את הדברים באקסס, אז התרגום ל SQL שאני מקבלת כדלקמן:
SELECT operator.tafkid FROM operator WHERE (((operator.tafkid) Like '*' & "I" & '*' & "work" & '*'));​
 

0 אור 0

New member
תודה על המידע ושאלה משלי

האמת שמכיוון שהוא לא כתב אם איזה מערכת הוא עובד ובאיזה שפה, עניתי לו לפי מה שאני מכירה ולשאלה: אם אני אכתוב שאילתה לאורקל בעזרת קריסטל או טוד , אז הסינטקס יהיה עם ה "+" כמו ב SQL? לא בטוחה שהשאלה מדויקת, כי אני כרגע לא מול משהו ספציפי שאני עושה, אלא עלתה בעקבות ההתייחסות שלך (ועד כה לא כתבתי את השאילתות ישירות אלא נעזרתי בכלים לבנית השאילתה)
 

jonjac

New member
באורקל

שרשור מחרוזות נעשה באמצעות שני פייפים || או באמצעות הפונקציה CONCAT למי שאין לו | במקלדת למשל:
SELECT 'Hello' || ' World' FROM DUAL;​
אבל לגבי השאלה הזו ספציפית, אי אפשר להשתמש בביטוי LIKE רגיל באורקל. זאת מכיוון שהוא לא תומך בregular expression לצורך כך משתמשים בביטוי REGEXP_LIKE שמתנהג כמו פונקציה שמחזירה ערך בוליאני. למשל:
select * from dual where regexp_like('want','I|want|to|work');​
אבל חשוב להדגיש שזו רק דוגמה של regular expression. אין כאן טיפול בcase sensitivity. אין כאן טיפול בכך שלא יופיעו מחרוזות עם התאמה של חלקי מלים. הפייפ | בתוך הפרמטר השני של regexp_like המשמעות שלו היא OR של regular expression. אם רוצים לעשות כאלה חיפושים באורקל אז עדיף להשתמש בOracle Text שהוא רכיב המאפשר חיפושי טקסט בדומה לצורך המתואר כאן.
 

גרי רשף

New member
נסה כך

Select * From MyTbl Where MyFld Like '%I%Work%'​
זה יתן לך את כל השורות בהן מופיעה האות I ואחריה (קצת רחוק או קצת קרוב) המילה Want. אם תרצה לבודד את המילה I כמילה נפרדת (=אני) ולא סתם אות- צריך לעדן את החיפוש כך שלפניה ואחריה יהיה רווח או תחילת מחרוזת או סוף מחרוזת.
 

Juventini1

New member
אתה יכול גם ככה.....

היי, אתה יכול לנסות לשלוף בצורה הבאה: SELECT text FROM #temp WHERE text LIKE '%[i work]%'
 
למעלה