hamidrezaA
یک شنبه 17 اسفند 1382, 00:47 صبح
شاید این برای ما تعجب بر انگیز باشد ولی مشکل تاریخ فارسی در ORACLE DB توسط خود پایگاه
داده حل شده است و ما هیچگونه نیازی به تبدیلات عجیب و غریب نداریم
از طریق زیر برنامه زیر که در اوراکل 8I امتحان شده است تاریخ انگلیسی از ورودی توسط
متغیر Engin گرفته شده و پس از تقریبا یک خط زبان PL/SQL به تاریخ فارسی تبدیل شده و به عنوان یک رشته در farout ریخته می شود . همچنین برای عدم نوشتن دوباره زیربرنامه ما می توانیم از طریق ورودی Farin تاریخ فارسی را بگیریم و در engout تاریخ انگلیسی را بگیریم.
CREATE OR REPLACE PROCEDURE Hamid.FarDate(EngIN IN Date,FarIn IN Varchar2,Engout out Varchar2,Farout Out Varchar2)
IS
BEGIN
Select To_char(EngIn,'DD/MM/YY','NLS_Calendar=persian') into Farout from dual;
Select To_char(To_Date(FarIn,'DD/MM/YY','NLS_Calendar=persian'),'DD/MM/YY') into Engout From Dual;
END Fardate;
داده حل شده است و ما هیچگونه نیازی به تبدیلات عجیب و غریب نداریم
از طریق زیر برنامه زیر که در اوراکل 8I امتحان شده است تاریخ انگلیسی از ورودی توسط
متغیر Engin گرفته شده و پس از تقریبا یک خط زبان PL/SQL به تاریخ فارسی تبدیل شده و به عنوان یک رشته در farout ریخته می شود . همچنین برای عدم نوشتن دوباره زیربرنامه ما می توانیم از طریق ورودی Farin تاریخ فارسی را بگیریم و در engout تاریخ انگلیسی را بگیریم.
CREATE OR REPLACE PROCEDURE Hamid.FarDate(EngIN IN Date,FarIn IN Varchar2,Engout out Varchar2,Farout Out Varchar2)
IS
BEGIN
Select To_char(EngIn,'DD/MM/YY','NLS_Calendar=persian') into Farout from dual;
Select To_char(To_Date(FarIn,'DD/MM/YY','NLS_Calendar=persian'),'DD/MM/YY') into Engout From Dual;
END Fardate;