با استفاده از تابع 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 مدیریت کنید و مطمئن شوید نوع ستون ورودی عدد صحیح است.

توسط پژوهشگر در 221 روز قبل ساعت 01:32
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 221 روز قبل ساعت 12:53

برای ساختن یک ستون محاسبه‌ای jan_first از سال استخدام با MAKEDATE، مطمئن شوید مقدار hire_year عدد صحیح و معتبر است. برای مدیریت NULL یا سال‌های نامعتبر از COALESCE و CAST استفاده کنید، مثلاً MAKEDATE(COALESCE(CAST(hire_year AS UNSIGNED), 0), 1). اگر می‌خواهید ستون به‌طور دائم ذخیره شود و کارایی ایندکس را حفظ کند، آن را STORED تعریف کنید و در صورت نیاز ایندکس کنید. به خاطر داشته باشید که MAKEDATE(year, 1) تاریخ 1 ژانویه همان سال را برمی‌گرداند، بنابراین ورودی 0 یا سال نامعتبر می‌تواند به خروجی نامشخص منجر شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری