任何人都可以帮我编写一个查询来创建一个以month/date/year
(mm/dd/_ _ _ _
)格式存储日期的表吗?
我不想使用varchar
,因为我还需要比较我的日期。我也不想使用任何其他日期格式,因为我的输入是以month/date/year
(mm/dd/_ _ _ _
)格式输入的?
答案 0 :(得分:2)
您可以使用varchar
,然后可以使用101
选项将其转换为您想要的格式(mm/dd/yyyy
)。
SELECT CONVERT(varchar(10), CONVERT(datetime, '2017/10/02', 111), 101)
答案 1 :(得分:0)
答案取决于您使用的数据库类型(SQL Server,MySQL,PostgreSql等)以及您是使用100%SQL执行此操作,还是使用其他语言的应用程序也可以操纵数据。
假设这是一个全SQL应用程序,如果需要比较日期,则可能需要对您使用的任何数据库使用本机Date数据类型。
相比之下,您可以将其存储为varchar,但随后需要将其作为比较日期。
要获取所需格式的日期,再次根据数据库,您可能有某种date_format函数可用于以您需要的格式输入/输出日期。如果您的数据库没有本机功能,则有人可能会为该数据库提供解决方案。搜索您的数据库类型(MySQL,Postgresql等)和“日期格式”将是一个很好的起点。
如果您的应用程序也使用其他语言,它也可能有一些本机函数将日期转换为您需要的格式。
我知道这并没有直接回答你的问题,但希望能让你思考解决问题的不同方法,让你指出正确的方向。
答案 2 :(得分:0)
您可以使用varchar然后将其转换为所需的格式。这是一个示例查询。
DECLARE @s DATETIME
SELECT @s = CONVERT(DATETIME, '03/13/2013', 101)