مجيد اطلس باف

Majid Atlasbaf
91 - پیام , 188 - نظر

پیوندهای اصلی

اخبار


Page Rank Tool

بایگانی پیامها

بایگانی سال ۱۳۸۸

فروردین ۱۳۸۸، (۱)

بایگانی سال ۱۳۸۷

دی ۱۳۸۷، (۱)
آذر ۱۳۸۷، (۱)
آبان ۱۳۸۷، (۱)
مهر ۱۳۸۷، (۱)
شهریور ۱۳۸۷، (۱)
مرداد ۱۳۸۷، (۱)
تیر ۱۳۸۷، (۱)
خرداد ۱۳۸۷، (۱)
اردیبهشت ۱۳۸۷، (۱)
فروردین ۱۳۸۷، (۱)

بایگانی سال ۱۳۸۶

اسفند ۱۳۸۶، (۱)
بهمن ۱۳۸۶، (۳)
آذر ۱۳۸۶، (۱)
آبان ۱۳۸۶، (۱)
مهر ۱۳۸۶، (۱)
شهریور ۱۳۸۶، (۱)
مرداد ۱۳۸۶، (۲)
خرداد ۱۳۸۶، (۱)
اردیبهشت ۱۳۸۶، (۱)
فروردین ۱۳۸۶، (۲)

بایگانی سال ۱۳۸۵

اسفند ۱۳۸۵، (۱)
دی ۱۳۸۵، (۱)
آبان ۱۳۸۵، (۲)
مهر ۱۳۸۵، (۲)
شهریور ۱۳۸۵، (۳)
مرداد ۱۳۸۵، (۱)
تیر ۱۳۸۵، (۴)
خرداد ۱۳۸۵، (۱)
اردیبهشت ۱۳۸۵، (۵)
فروردین ۱۳۸۵، (۲)

بایگانی سال ۱۳۸۴

اسفند ۱۳۸۴، (۱)
دی ۱۳۸۴، (۳)
آذر ۱۳۸۴، (۵)
آبان ۱۳۸۴، (۲)
مهر ۱۳۸۴، (۷)
شهریور ۱۳۸۴، (۴)
مرداد ۱۳۸۴، (۳)
خرداد ۱۳۸۴، (۳)
اردیبهشت ۱۳۸۴، (۳)
فروردین ۱۳۸۴، (۵)

بایگانی سال ۱۳۸۳

اسفند ۱۳۸۳، (۴)
بهمن ۱۳۸۳، (۴)

دسته بندی پیامها

(rss) مطالب مرتبط با NET.
(rss) مطالب مرتبط با SQL
(rss) مطالب مرتبط با UNIX

گالری عکسها

عکسهای مقالات

سایت های مرتبط

Persian Websites Directory
DSP algorithms development

همکاران

حمیدرضا طاهریان
شیما دهباشی
فاطمه طاهریان
محسن طاهریان

۵ آذر ۱۳۸۷

Date Format in SQL Server

Previously I had a problem with my ASP .NET program which it's returned date format was not the appropriate one. As I've mentioned in the "Date Format in ASP .NET Web Application Served by IIS 6" post you can adjust your application date format with "globalization" element in "web.config", but I had another problem, although I changed the date format in my application but I had a problem when I wanted to submit a query to sql server and I got the following error when my query had a date in it's code:

"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. The statement has been terminated."

After searching a bit I found that the cause of this problem is the sql server date format. Although I had changed my application culture to "en-US" but my sql server default language was different. To find out your sql server default language, you can run the following query:

use master;
select
name, alias, dateformat from syslanguages
where langid = (select value from master..sysconfigures where comment = 'default language')

The above query shows your sql server default language. But your database user might have another language. If you select "default" for user language during user creation, then the language of user will be set to the database default language, but you can select another language for your database user. To find out what is the default language for your database user, you should login with that user to the database and run the following command:

DBCC USEROPTIONS

the above query shows you the database user default language and dataformat.

After you have found that the user date format is not appropriate for you, you can change it by the following query:

EXEC sp_defaultlanguage 'USERNAME', 'english'

The above query changes the language of specified user to "english".

If you want to get information about a language properties in sql server (such as it's date format, month names, ...) you can run the following stored procedure:

sp_helplanguage

or you can specify your desired language as follows:

sp_sp_helplanguage english

So after changing my application culture to "en-US" using the globalization element in web.config and changing my sql server user language to "us_english" using the above query, all my date time problem were resolved.  :)
But there is a note about date format, if you use standard ISO date format that is "YYYYMMDD HH:MM:SS.mmm", then you will be independent of the language setting the sql database is configured in and everything works without doubt!

To read more about this subject visit the following pages:

زمان ارسال 3:49 عصر | نظرات (0)