פונקציות SQL מאפשרות לנו לבצע מניפולציות שונות על ערכי השדות שבעמודה. אנו מחלקים את סוגי פונקציות השורה לפי הערכים שעליהם הן עובדות. סוגי הפונקציות שנכיר במדריך זה הן :
- פונקציות מחרוזתיות – פונקציות אשר עובדות על מחרוזות.
- פונקציות מספריות – פונקציות אשר עובדות על מספרים.
- פונקציות תאריכיות – פונקציות אשר עובדות על תאריכים.
- פונקציות המרה – פונקציות אשר ממירות סוגי עמודות
- פונקציות על הערך NULL
(שימו לב, פוסט זה מתמקד בפונקציות שורה, מידע על פונקציות קבוצה ניתן למצוא בפוסט הבא)
פונקציות SQL Server מחרוזתיות
דוגמא |
מטרת הפונקציה |
שם הפונקציה |
SELECT RIGHT('hello' , 2) -- Result: 'lo' |
הצגת מספר מוגדר של תווים מצד ימין של המחרוזת |
RIGHT |
SELECT LEFT('hello' , 2) -- Result: 'he' |
הצגת מספר מוגדר של תווים מצד שמאל של המחרוזת |
LEFT |
SELECT LEN('hello') -- Result: 5
|
הצגת כמות תווים עבור מחרוזת |
LEN |
SELECT RTRIM(' hello ') -- Result: ' hello' |
חיתוך רווחים מצד ימין של המחרוזת |
RTRIM |
SELECT LTRIM(' hello ') -- Result: 'hello ' |
חיתוך רווחים מצד שמאל של המחרוזת |
LTRIM |
SELECT REPLACE('hello' , 'e' , '$') -- Result: 'h$llo' |
החלפת תווים בתוך המחרוזת |
REPLACE |
SELECT REVERSE('hello') -- Result: 'olleh' |
הצגת המחרוזת בסדר הפוך |
REVERSE |
SELECT SUBSTRING('hello' , 2,3) -- Result: 'ell' |
חיתוך תווים ממחרוזת |
SUBSTRING |
SELECT LOWER('HELLO') -- Result: 'hello'
|
הצגת מחרוזת באותיות קטנות |
LOWER |
SELECT UPPER('hello') -- Result: 'HELLO'
|
הצגת מחרוזת באותיות גדולות |
UPPER |
פונקציות SQL Server תאריכיות
דוגמא |
מטרת הפונקציה |
שם הפונקציה |
SELECT DATEADD (mm, 3 ,'2010-01-01') -- Result: '2010-04-01' SELECT DATEADD (dd , 3 ,'2010-01-01') -- Result: '2010-01-04' SELECTDATEADD (yy , 3 ,'2010-01-01') -- Result: '2013-01-01' |
הוספת חלקי תאריך (כגון ימים חודשים שנים ) לתאריך |
DATEADD |
SELECT DATEDIFF (yy,'2009-01-01','2010-01-01') -- Result: 1 SELECT DATEDIFF (mm,'2009-01-01','2010-01-01') -- Result: 12 SELECT DATEDIFF (dd,'2009-01-01','2010-01-01') -- Result: 365
|
הצגת הפרש בין תאריכים שונים |
DATEDIFF |
SELECT DAY('2010-01-01') -- Result: 1
|
הצגת היום מתוך תאריך |
DAY |
SELECT MONTH('2010-01-01') -- Result: 1
|
הצגת החודש מתוך תאריך |
MONTH |
SELECT YEAR('2010-01-01') -- Result: 2010
|
הצגת שנה מתוך תאריך |
YEAR |
SELECT GETDATE() -- Result: (current date)
|
הצגת התאריך העכשווי |
GETDATE() |
פונקציות SQL Server מספריות
דוגמא |
מטרת הפונקציה |
שם הפונקציה |
SELECT FLOOR(59.9) -- Result: 59
|
עיגול מספר כלפי מטה |
FLOOR |
SELECT CEILING(59.1) -- Result: 60 |
עיגול מספר כלפי מעלה |
CEILING |
SELECT ROUND(59.9, 0) -- Result: 60 SELECT ROUND(59.1, 0) -- Result: 59 |
עיגול מספר באופן משתנה |
ROUND |
פונקציות SQL Server המרה
דוגמא |
מטרת הפונקציה |
שם הפונקציה |
SELECT CAST(getdate() AS varchar) -- Result: Jan 11 2013  4:22PM |
המרת סוג ערך |
CAST |
SELECT CONVERT(varchar,getdate(),103) -- Result: 11/01/2013
|
המרת סוג ערך |
CONVERT |
פונקציות SQL Server על הערך NULL
דוגמא |
מטרת הפונקציה |
שם הפונקציה |
SELECT ISNULL(NULL,'Somevalue') -- Result: Somevalue |
המרת ערך NULL בערך אחר |
ISNULL |