为SQL Server或每个数据库设置的DateTime格式

Avi*_*fer 0 c# database sql-server asp.net datetime

通过这段代码:

var ciIL = CultureInfo.CreateSpecificCulture("he-IL");
var todayNow = DateTime.Now.ToString("g", ciIL );
Run Code Online (Sandbox Code Playgroud)

DateTime会在我的本地首选格式生成(04/07/2013 20:00)

这就是我为日期/时间设置我的Windows本地化格式的方式,并且我真的希望它在SQL Server中设置(我目前使用的是2012 SP1)

因此,如果要求完全配置的SQL Server这样太复杂,我会解决一个方法需要设置每个新数据库..所以设置将是每个数据库

问题是当我以dd/mm/yyyy格式设置日期时,它会被SQL翻译,因此在Management Studio中显示为2013-04-07 20:00

但它返回到ASP.NET C#代码: 07/04/2013 20:00

我希望数据库能够像我需要的那样使用转换方法来查询它

我在当前数据库中的排序规则设置为:Hebrew_100_CI_AS

并且服务器设置为:Hebrew_100_CI_AI

Jon*_*eet 6

并返回到ASP.NET C#代码:07/04/2013 20:00

不,它作为一个返回到您的.NET代码DateTime.你做的是你的事业.

您需要区分内在数据(日期和时间)和您可以选择的文本表示.尽可能使用内部数据类型,避免字符串转换,直到您真正需要它们为止.特别是,使用参数化SQL并将值保存为参数中的值DateTime.

您可能能够设置SQL Management Studio在"设置"中某处显示数据的方式,但从根本上说这不会影响您的代码.