2016-08-03 168 views
0

做一个错误,几个月前我给自己买了一个情况,在那里我找到了以下问题的解决方法:获得从int(年月日)日期

我保存日期为整在一个共同的格式在我的SQL Server数据库(YYYYMMDD)内。我想让我的select语句给我一个格式的整数,看起来像一个日期(或者甚至是一个真正的日期类型)给用户,所以我可以直接使用接收到的数据表作为我的DataGridView的数据源。

  • 我不想用客户方格式
  • 让我们把表myTable和整数/日期列myIntDate
  • myIntDate可以NULL
  • 样品myIntDate-value:20160803为2016年8月
  • 的第3
+2

标记使用的dbms。 (当涉及日期/时间时,许多dbms产品远远不符合ANSI SQL标准。) – jarlh

+2

您是否搜索了任何内容?这很容易在网上我很确定。 – dfundako

+0

对不起,忘了把它放进去!我使用TSQL(微软)@dfundako我有,但我很难找到用于搜索的好关键字。 – Luke

回答

10
Select cast(cast(20160729 as varchar(10)) as date) 

返回 2016-07-29

+3

不需要将其转换为'VARCHAR(10)','VARCHAR(8)'将会做 – Lamak

+0

这似乎很容易。如果你是对的,我已经完成了编码工作!看看它是如何处理NULL值 – Luke

+0

@luke它只会返回一个NULL值。如果输入为空。如果您需要一个默认日期而不是null,则将其包含在isnull中。 –