خیلی از برنامه های کاربردی که با بانک های اطلاعاتی کار می کنند نیاز دارند تا تاریخ شمسی را نیز در پایگاه داده اس کیو ال ذخیره کنند ولی بانک اطلاعاتی اس کیو ال تنها تاریخ میلادی را به شما می دهد و برای به دست آوردن تاریخ شمسی باید توابعی را ایجاد کرد تا بتواند تاریخ میلادی را به تاریخ شمسی تبدیل کند.
برای این منظور کافی است چهار تایع زیر را بعد از تغییر YourDatabaseName که در اول تابع است،در اس کیو ال سرور خود اجرا کنید تا 4 تابع برای شما ذخیره شوند. سپس با دستور زیر تاریخ میلادی به شمسی تبدیل می شود.
نحوه تبدیل :
select dbo.GregorianToPersian('1980/01/01')
با دستور زیر هم میتونید تاریخ روز جاری را دریافت کنید
select REPLACE(dbo.GregorianToPersian(CONVERT (date, SYSDATETIMEOFFSET()) ),'-','/')
نکته ( جدید ): در صورتی که بخواهید در فرمول سیستم نیز به صورت خودکار با درج یک ردیف تاریخ نیز به صورت خودکار ذخیره شود کافی است در قسمت فرمول فیلد مورد نظر کد زیر را قرار دهید
REPLACE(dbo.GregorianToPersian(CONVERT (date, SYSDATETIMEOFFSET()) ),'-','/')
موضوعات مرتبط: SQL
برچسب ها: SQL Server , اس کیو ال
USE master;
SELECT B.name AS Database_Name,
ISNULL(STR(ABS(DATEDIFF(day, GetDate(),
MAX(Backup_finish_date)))), 'NEVER') AS DaysSinceLastBackup,
ISNULL(CONVERT(char(10), MAX(backup_finish_date), 101), 'NEVER') AS
LastBackupDate
FROM master.dbo.sysdatabases B
LEFT OUTER JOIN msdb.dbo.backupset A
ON A.database_name = B.name
AND A.type = 'D'
GROUP BY
B.Name
ORDER BY
B.nameموضوعات مرتبط: SQL
برچسب ها: تاریخ تهیه آخرین نسخه پشتیبان , sql server
اول اینکه باید یک اسمبلی در SQL server بسازیم، برای ساخت این فایل این کد را در SQL Server خود اجرا کنید.
دقت داشته باشید نام پایگاه داده را به نام پایگاه داده خود تغییر دهید.
در مرحله دوم باید یک تابع ایجاد کنید تا از این اسمبلی استفاده کند و تاریخ میلادی را به شمسی تبدیل کند. برای ایجاد این تابع باید این کد را در SQL Server خود اجرا کنید.
دقت داشته باشید نام پایگاه داده را به نام پایگاه داده خود تغییر دهید.
موضوعات مرتبط: برنامه نویسی
برچسب ها: SQL Server , میلادی به شمسی
.: Weblog Themes By Pichak :.