100% اشتباه هست،
خروجی تابع FORMAT از نوع متن هست (nvarchar) و نه تاریخ (date).
این تابع صرفا تاریخ رو بر اساس culture که بهش میدین به شکل متن برمیگردونه.
برای اطمینان میتونین کدهای زیر رو اجرا و نتیجه رو ببینین:
SELECT GETDATE() AS [Data Value],
SQL_VARIANT_PROPERTY(GETDATE() , 'BaseType') AS [Data Type]
SELECT FORMAT(GETDATE() , 'yyyy-MM-dd' , 'fa-IR') AS [Data Value],
SQL_VARIANT_PROPERTY(FORMAT(GETDATE() , 'yyyy-MM-dd', 'fa-IR') , 'BaseType') AS [Data Type]
Screenshot 2023-12-06 190858.png
Screenshot 2023-12-06 191014.png