PDA

View Full Version : سوال: تبدیل مقدارDateTime به مقدار Nvarchar



YourWorldToday
پنج شنبه 31 اردیبهشت 1388, 12:00 عصر
با سلام
چطور می تونم در یه Select فقط مقدار زمان رو(به صورت 17:00 نه به صورت 5:00) از فیلد DateTime بخونم و به Nvarchar تبدیل کنم
با تشکر

araelectronic@ymail.com
پنج شنبه 31 اردیبهشت 1388, 12:55 عصر
با سلام
مقدار date را داخل string بریزید و اونو ذخیره کنید.

mehdi.mousavi
پنج شنبه 31 اردیبهشت 1388, 15:03 عصر
با سلام چطور می تونم در یه Select فقط مقدار زمان رو(به صورت 17:00 نه به صورت 5:00) از فیلد DateTime بخونم و به Nvarchar تبدیل کنم با تشکر


سلام.
هنگام نوشتن Select، ابتدا با DATEPART بخش مورد نظرتون رو (زمان) جدا کنید، سپس با تابع CONVERT یا CAST اونو به NVARCHAR تبدیل کنید. برای اطلاعات بیشتر، به MSDN (http://msdn.microsoft.com/en-us/library/ms174420.aspx) مراجعه کنید.

YourWorldToday
پنج شنبه 31 اردیبهشت 1388, 19:44 عصر
با سلام
من کاری رو که شما گفتید انجام دادم خروجی Select هم به درستی کار می کنه ولی زمانی که برنامه رو اجرا می کنم خطا


Syntax error converting the varchar value ' : ' to a column of data type int.



این هم کد Select



CREATE PROCEDURE WorkScheduleReception
(
@MedicoID int,
@ScheduleDate nvarchar(10)
)
AS
SELECT WorkSchedule.WorkScheduleID,
Clinic.NameClinic + ' - ' + WorkSchedule.ScheduleDate + ' - از ساعت ' +
CAST(DATEPART(HH,WorkSchedule.StartTime) as nvarchar(2))+':'+
CAST(DATEPART(MM,WorkSchedule.StartTime) as nvarchar(2))
+' الی '+
CAST(DATEPART(HH,WorkSchedule.EndTime) as nvarchar(2))+':'+
CAST(DATEPART(MM,WorkSchedule.EndTime) as nvarchar(2))
AS WorkSchedule
FROM Clinic INNER JOIN
WorkSchedule ON Clinic.ClinicID = WorkSchedule.ClinicID
WHERE (Clinic.MedicoID = @MedicoID) AND (WorkSchedule.ScheduleDate >= @ScheduleDate)
GO

mehdi.mousavi
شنبه 02 خرداد 1388, 10:11 صبح
من کاری رو که شما گفتید انجام دادم خروجی Select هم به درستی کار می کنه ولی زمانی که برنامه رو اجرا می کنم خطا

سلام.
لطفا تعاریف مربوط به جداول WorkSchedule و Clinic رو اینجا بذارید، تا ببینم ایراد چیه. آیا WorkSchedule.StartTime بصورت DATETIME تعریف شده؟