עבודה עם מחרוזות

בשיעור הזה אנו נעבוד עם חיפוש לפי תווים במחרוזות.

לצורך דוגמאות נעבוד עם הטבלה HumanResources.Department
בבסיס נתונים AdventureWorks2019

SELECT TOP (200) DepartmentID, Name, GroupName, ModifiedDate
FROM HumanResources.Department;

 

חיפוש שורות בטבלה כך שהתו אחרון בעמודה Name הוא תו 'g'

*כל מספר של התווים  '%' במילה (יכול להיות 0,1,2,3 ויותר…)
– העיקר שבסוף יהיה תו 'g' בעמודה NAME

SELECT * FROM HumanResources.Department
WHERE Name LIKE '%g';


חיפוש שורות בטבלה כך שהן מתחילות בעמודה Name בכל תו אבל תו השני הוא  'r'
בעזרת "_"

SELECT * FROM HumanResources.Department
WHERE Name LIKE '_r%';


חיפוש שורות בטבלה כך שהן מתחילות  בעמודה Name מאותיות m או a או r.

SELECT * FROM HumanResources.Department
WHERE Name LIKE '[mar]%';


חיפוש שורות בטבלה כך שהן לא מתחילות בעמודה Name מאותיות או m או a או r.

SELECT * FROM HumanResources.Department 
WHERE Name NOT LIKE '[mar]%';


חיפוש שורות בטבלה כך שבעמודה Name יש
"Quality Assurance" או "Engineering"

SELECT * FROM HumanResources.Department
WHERE Name IN ('Quality Assurance', 'Engineering');


חיפוש שורות בטבלה כך שבעמודה DepartmentID בין 3 ל-14
וגם בעמודה NAME אין: "Quality Assurance" או "Engineering"

SELECT * FROM HumanResources.Department
WHERE (DepartmentID BETWEENAND 14)
AND NOT NAME IN ('Quality Assurance', 'Engineering');


חיפוש שורות בטבלה כך שבעמודה ModifiedDate יהיה תאריך
בין '2006-04-30 00:00:00.000' ל-2007-08-30 00:00:00.000

SELECT * FROM HumanResources.Department 
WHERE ModifiedDate 
BETWEEN '2006-04-30 00:00:00.000'
AND '2007-08-30 00:00:00.000';


בחירת כינוי להדפסה עבור העמודות:
במקום DepartmentID היה ID
ובמקום Name יהיה FirstName

SELECT DepartmentID AS ID, Name AS FirstName
FROM HumanResources.Department;

טבלה לפני שינוי שמות של העמודות:

טבלה לאחר שינוי שמות של העמודות:


איחוד עמודות תחת השם אחת

לצורך דומה בואו נפתח בסיס נתונים AdventureWorks2019
ונבחר טבלה Person.Address ונריץ SQL QUERY

SELECT TOP (3) AddressID, AddressLine1, City
FROM Person.Address

אז נקבל:

עכשיו נאחד את שתי העמודות AddressLine1, City
לעמודה אחד ונקרא לה בשם Address

SELECT TOP (3) 
AddressID, + AddressLine1+ ',' + City + '.' 
AS Address
FROM Person.Address;

 

ואז נקבל תוצאה:

דילוג לתוכן