חיבור בין 2 שדות תאריך ב SQL SERVER
-
חס וחלילה, הקוד עצמו עבד באמצעות משתנים, כשהקוד היה מופעל על טבלה מסויימת זה לא עבד. ואז ראיתי שאחד הטריגרים שעשיתי אשם בזה, הוא מאפס את השדה לערכו הישן לפי קריטריון מסויים, מסיבה מסויימת שלא אלאה אותך כרגע, והייתי צריך להגביל את הטריגר בתנאי מסויים שהתחדש בעקבות הצורך בקוד הזה, טעות אנוש זה כל הסיפור, לא להתעצבן.
פורסם במקור בפורום CODE613 ב23/07/2014 19:59 (+03:00)
-
מודה ועוזב ירוחם . . .
אגב לפני 2008 לא היה TIME . . .
ואגב TIME עם או בלי ה 7 זה אותו דבר (כמעט)
מקור
http://msdn.microsoft.com/en-us/library/bb677243.aspxפורסם במקור בפורום CODE613 ב24/07/2014 11:31 (+03:00)
-
טוב לא צריך להגיע לתשובה הקודמת. אבל מה שייצא לי זה מחריד, איזה "קרומקייט" צריך כדי לקבל תאריך ושעה נוכחיים :lol: :lol: :lol: :lol:
select CAST(cast(GETDATE() as date) AS DATETIME) + CAST(cast(GETDATE() as time) AS DATETIME);
סתם... תכלס' זה עובד כשיש לך 2 שדות שונים ומשונים לחבר ביניהם.....
ועל זה אמרתי פעם למישהו בישיבה קטנה "יותר מידי קרומקייט, זה גם לא טוב..."פורסם במקור בפורום CODE613 ב31/07/2014 11:13 (+03:00)
-
@דוד ל.ט.
תגיד מה אתה מנסה לעשות?
אני מקוה שאתה מודע לכך שהGETDATE נותן לך את התוצאה הסופית שלך מלכתחילה.נו אמרתי:
@ארכיטקט"יותר מידי קרומקייט, זה גם לא טוב..."
אני יודע היטיב ש GetDete נותן תאריך ושעה נוכחיים, מה שאני רוצה זה שבמקרים מסויימים ייבחר תאריך בלבד, והערך של השעה יילקח מ GetDete ולצרף את שניהם כחדא. אבל בשביל הדוגמא העלתי את הפונקציה שכולם יכולים להריץ בלי טבלאות וכדומה.
פורסם במקור בפורום CODE613 ב31/07/2014 12:12 (+03:00)
-
למה זה לא עובד?
select cast(GETDATE() as date) + cast(GETDATE() as time)
כי ל DATE אין מקום ל TIME אתה צריך להמיר ל DATETIME ואז להוסיף, כדלהלן:
select CAST(GETDATE() as DATETIME) + cast(GETDATE() as TIME)
פורסם במקור בפורום CODE613 ב31/07/2014 12:24 (+03:00)
-
אני יודע היטיב ש GetDete נותן תאריך ושעה נוכחיים, מה שאני רוצה זה שבמקרים מסויימים ייבחר תאריך בלבד, והערך של השעה יילקח מ GetDete ולצרף את שניהם כחדא. אבל בשביל הדוגמא העלתי את הפונקציה שכולם יכולים להריץ בלי טבלאות וכדומה.
נו זה ממש כמו הקודים שכתב SOFT בעבר עם שינוי מינורי:
DECLARE @d AS DATETIME = '2014-10-10'; DECLARE @t AS TIME(7) = CAST(GETDATE() AS DATETIME); SELECT @D + @t;
אגב, ממש לא נתפס אצלי הסיטואציה של תאריך ממקור פלוני ושעה נוכחית
כי ל DATE אין מקום ל TIME אתה צריך להמיר ל DATETIME ואז להוסיף, כדלהלן:
select CAST(GETDATE() as DATETIME) + cast(GETDATE() as TIME)
למה להמיר? ככה וזהו
select GETDATE() + cast(GETDATE() as TIME)
פורסם במקור בפורום CODE613 ב31/07/2014 12:35 (+03:00)