با استفاده از تابع MAKEDATE در MySQL، برای جدول employees که ستونی به نام hire_year (از نوع INT) دارد یک ستون محاسبهای بسازید که تاریخ یکم ژانویه همان سال را نشان دهد.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:32 0.0
تابع MAKEDATE(year, day_of_year) یک مقدار DATE میسازد؛ برای ساخت تاریخ یکم ژانویه کافی است day_of_year را برابر 1 قرار دهید. میتوانید از SELECT MAKEDATE(hire_year,1) AS jan_first استفاده کنید یا با ALTER TABLE ... ADD COLUMN jan_first DATE AS (MAKEDATE(hire_year,1)) STORED/VIRTUAL یک ستون تولیدی اضافه کنید. نکتهها: مقادیر NULL یا سالهای نامعتبر را با COALESCE یا CAST مدیریت کنید و مطمئن شوید نوع ستون ورودی عدد صحیح است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای ساختن یک ستون محاسبهای jan_first از سال استخدام با MAKEDATE، مطمئن شوید مقدار hire_year عدد صحیح و معتبر است. برای مدیریت NULL یا سالهای نامعتبر از COALESCE و CAST استفاده کنید، مثلاً MAKEDATE(COALESCE(CAST(hire_year AS UNSIGNED), 0), 1). اگر میخواهید ستون بهطور دائم ذخیره شود و کارایی ایندکس را حفظ کند، آن را STORED تعریف کنید و در صورت نیاز ایندکس کنید. به خاطر داشته باشید که MAKEDATE(year, 1) تاریخ 1 ژانویه همان سال را برمیگرداند، بنابراین ورودی 0 یا سال نامعتبر میتواند به خروجی نامشخص منجر شود.
گزارش