日期格式的SQL查询

时间:2017-10-01 19:30:02

标签: sql

任何人都可以帮我编写一个查询来创建一个以month/date/yearmm/dd/_ _ _ _)格式存储日期的表吗?

我不想使用varchar,因为我还需要比较我的日期。我也不想使用任何其他日期格式,因为我的输入是以month/date/yearmm/dd/_ _ _ _)格式输入的?

3 个答案:

答案 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)