2015-06-28 173 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頁面。它基本上是一個數字代碼來指定格式。 –

相關問題