פונקציות 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