sql - 创建具有特定格式的自定义数据类型

标签 sql sql-server database sql-server-2012 sqldatatypes

我正在从访问数据库迁移到 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/

相关文章:

php - 游戏库存数据库外键

具有左连接和右连接的 MySQL 查询需要 15 分钟才能执行

sql - 从逗号分隔的字符串中删除特定值的所有实例

sql - CASE vs IF-ELSE-IF vs GOTO 关键字

iphone - 对数据库存储音频文件的建议?

android - Realm 在第一次调用时崩溃。如果用于打开同一个文件,配置不能不同

SQL Server 2008 : Why won't this round to two decimal places?

mysql - 更新多个不同的列

sql - Visual Studio 2013数据库发布不执行任何操作

SQL 子字符串和最后一个索引