وبلاگ :
شايد سخن حق
يادداشت :
تبديل ساده تاريخ ميلادي به شمسي در SQL Server
نظرات :
1
خصوصي ،
28
عمومي
نام:
ايميل:
سايت:
مشخصات شما ذخيره شود.
متن پيام :
حداکثر 2000 حرف
كد امنيتي:
اين پيام به صورت
خصوصي
ارسال شود.
+
احمدي
در توضيح سوالم بايد بگم: اگه من تاريخ مبدا را 1/1/1394 در نظر بگيرم وقتي يکي يکي به اين تاريخ اضافه بکنم ،بخوام 1/2/1394 را ثبت کنم چکار بايد بکنم؟
پاسخ
روشهاي متنوعي براي اين كار وجود دارد. اولاً ميتوانيد اين كار را در لايه برنامهنويسي با زباني كه كار ميكنيد، Net. يا php مثلاً انجام دهيد كه در آن صورت بايد يك مجموعه INSERT بسازيد و به يكباره يا بخشبخش اجرا بفرماييد. يا اينكه برويد در لايه SQL و يك تابع به زبان T-SQL بنويسيد؛ مبدأ و مقصد را بگيرد و در يك لوپ انداخته، تمام ركوردها را مستقيم بسازد. از سوي ديگر نحوه ذخيره داده تاريخ هم متنوع است. ممكن است بخواهيد يك فيلد (CHAR(10 بسازيد و تاريخ شمسي را در قالب يك رشته ذخيره كنيد، يا ممكن است برويد سراغ smalldatetime و به صورت ميلادي تاريخ را ذخيره كرده و سپس هر بار موقع SELECT كردن آن را دوباره به شمسي باز گردانيد. روشي هم وجود دارد كه با استفاده از كدهاي آمادهاي كه در اينترنت يافت ميشود يك فيلد از نوع تاريخ شمسي در ديتابيس ايجاد كنيد. هر كدام از اينها تكنيك خاص خود را دارد. موارد فوق را بررسي نموده، روش مناسب براي كار خود را بيابيد. موفق باشيد.