我正在从访问数据库迁移到 SQL Server 数据库,想知道是否可以为日期创建自己的数据类型。
我想让我的自定义日期类型的格式为 mm/dd/yyyy
而不是 yyyy/mm/dd
。这可能吗?
最佳答案
使用默认/内置数据类型来存储特定数据类型。这将更加高效和可靠,因为 sql server 将只允许存储有效数据(数据完整性)。
此外,这将允许您使用所有内置函数来处理该特定数据类型。在您的情况下,如果您使用 Sql Server 的日期时间数据类型,您将能够使用所有日期时间函数(DATEDIFF()
、DATEADD()
、DAY ()
、YEAR()
、MONTH()
、DATENAME()
等)。
就您如何查看存储在数据库中的日期/日期时间值而言,您将始终拥有内置的数据时间函数来根据您的需要格式化日期值。
一旦您将日期/日期时间值存储在 sql server 数据库中并且您希望将日期值查看为 mm/dd/yyyy
而不是 yyyy/mm/dd
只需执行以下操作:
SELECT CONVERT(VARCHAR(10), [DateColumn], 101)
可以使用自定义数据类型,但它们存在一些非常奇怪的问题,请尽可能避免使用它们:)
关于sql - 创建具有特定格式的自定义数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31095092/