לגבי המרת תאריך ושעה ל INT

lanube

New member
לגבי המרת תאריך ושעה ל INT

(SQL SERVER 2000) ב VB, אם אני רוצה להמיר משתנה שמכיל את התאריך והשעה לסטרינג אני עושה ככה:
MyString = Format (NOW,"yyyymmddhhmmss")​
אני רוצה לעשות את אותו הדבר רק לתוך INT וכל זה בתוך SP. הכיצד?? תודה!!!
 
אפשר להמיר תאריך לINT באמצעות

הפונקציה convert. לדוגמא:
select convert(int, getdate())​
השאלה, שנשאלת היא, למה??? מהערך שמתקבל לא ניתן להבין כלל על איזה תאריך מדובר. אתה בטוח, שאתה מעוניין לבצע convert דוקא לint?
 

lanube

New member
כן, אבל אני לא רוצה שזה 'לא יתחשב'

בשניות. ז"א אני רוצה ש 12:11:01 יתן תוצאה שונה מ 12:11:00. אפשרי?
 
אני לא מצליח להבין את הבקשה

12:11:00 זה לא int, זה string. תנסה להסביר יותר טוב את מה שאתה צריך. תתן דוגמא לinput ודוגמא למה שאתה רוצה לראות.
 

lanube

New member
אוקיי:

אני רוצה ש 12:11:10 יהפוך ל - 121110 ו - 12:11:09 יהפוך ל - 121109 אפשרי? תודה!!
 
אפשרי

select replace(convert(char(8),getdate(), 8),':','')​
שים לב, שבמידה והשעה לפני 10 בבוקר, אז יש לך 0 מוביל. במידה ואתה לא רוצה את ה0 המוביל, אז תכניס את כל הביטוי למשתמנה מסוג int והאפס המוביל יעלם. במידה ואתה כן רוצה את האפס המוביל, אז צריך להשתמש בchar.
 

lanube

New member
אוקיי! זה כבר ממש נראה טוב...

אבל זה רק 70% ממה שאני רוצה. אני רוצה גם 'להתעסק' עם התאריך עצמו. איך אני משנה את GETDATE לפורמט של YYYY/MM/DD? (אם אני אדע את זה, אז לפי מה שכתבת קודם אני כבר אדע לעשות ל "/" REPLACE ואז להמיר את זה יחד עם השעה). תודה!
 

lanube

New member
אחלה! תודה!! ושאלת סיום:

מה צריך להיות XXXX? (אני רוצה שהוא יהיה ערך מספרי
Declare @str varchar (70) Declare @int XXXX Set @str = convert(char(8),getdate(),112) + replace(convert(char(8),getdate(), 8),':','') Set @int = Convert(XXXX,@str)​
 

lanube

New member
לגבי השירשור -

אפשר להתעלם, מצאתי את ה + השובב...
 
למעלה