2015-06-28 128 views
1

我正在从访问数据库移动到SQL Server数据库,并想知道我是否可以为日期创建自己的数据类型。创建具有特定格式的自定义数据类型

我希望我的自定义日期类型的格式为mm/dd/yyyy而不是yyyy/mm/dd。这可能吗?

+4

内部日期保存总是相同的。但是你可以在选择日期时更改日期的表示形式 –

+0

那么,如果我以mm/dd/yyyy格式输入数据呢?它会自动将其转换为日期数据类型格式吗? – Diogenes

+0

从客户端应用程序。 (例如:C#,VB.NET)我会将这些值作为DateTime参数而不是字符串发送到SQL Server。 –

回答

1

使用默认/内置数据类型来存储特定的数据类型。这将更加高效和可靠,因为sql server将只允许存储有效数据(数据完整性)。

此外,您还可以使用所有内置函数来处理该特定数据类型。在你的情况下,如果你使用Sql Server的日期时间数据类型,你将能够使用所有的日期时间函数(DATEDIFF(),DATEADD(),DAY(),YEAR(),MONTH(),DATENAME()等)。

就您如何看到数据库中存储的日期/日期时间值而言,您将始终拥有内置的数据时间函数,以根据您的需要对日期值进行格式设置。

一旦存储在SQL Server数据库中的日期/时间日期值而您要查看的日期值作为mm/dd/yyyy代替yyyy/mm/dd只需做到以下几点:

SELECT CONVERT(VARCHAR(10), [DateColumn], 101) 

自定义数据类型在那里可以使用,但有是一些非常奇怪的问题与他们,避免他们只要你可以:)

+0

啊,好吧,改变我的用户输入数据的方式会更简单。我将这个数据库连接到一个网站,以便人们可以输入数据,而不是。我只需要有一个下拉框和一个文本框。 – Diogenes

+0

我忘了问 - 什么是101? – Diogenes

+0

Google *强制转换*并查看msdn页面。它基本上是一个数字代码来指定格式。 –

相关问题