我有一个SQL日期格式的日期格式的数据表格作为yyyy-mm-dd。我用bigint创建了一个新列,并且希望编写一个查询将日期转换为bigint并更新我的新列。我尝试使用CAST并收到一条消息,我无法明确地将日期转换为bigint。有人可以帮我用SQL公式将日期(yyyy-mm-dd)转换为bigintSQL数据更新查询
回答
我不确定您正在使用哪种品牌的SQL Server,但在Microsoft SQL Server上可以使用convert函数做到这一点。
(编辑)根据评论中的信息添加了一个示例。我还假设你使用SQL服务器:
如果您的表有一个名为“IssueDate”日期时间列,并呼吁IssueDateOAD新BIGINT列,则可以运行此查询:
update mytable set IssueDateOAD = convert(bigint, IssueDate) + 2
如果IssueDate是一个包含日期格式化字符串的varchar列,您必须先将其转换为日期。对于yyyy-mm-dd,您可以使用convert(datetime, IssueDate, 126)
(请参阅您可以通过转换的样式代码文档,126代表我们通过ISO8601格式的日期)
查询包括从varchar到datetime的转换为:
update mytable set IssueDateOAD = convert(bigint, convert(datetime, IssueDate, 126)) + 2
对不起,我忘了补充说我想转换为OADate格式。我已经尝试过CONVERT,但没有多少运气,你有没有例子 – Tim 2013-04-25 06:15:21
SQL服务器在1900-01-01 00:00开始,OAdate从1899-12-30 00:00开始,所以选择convert(bigint,getdate() ) - 2应该做什么? – EventHorizon 2013-04-25 06:19:06
*加* 2,不减号。注意到编辑我自己的评论为时已晚。 – EventHorizon 2013-04-25 06:28:42
- 1. 数据集更新与SQL查询
- 2. T-SQL更新数据查询
- 3. SQL查询不更新数据库
- 4. SQL更新表数据查询
- 5. SQL更新查询
- 6. SQL更新查询
- 7. SQL查询更新
- 8. SQL更新查询
- 9. SQL更新查询
- 10. SQL更新查询
- 11. 更新SQL查询
- 12. SQL更新查询
- 13. Sql更新查询
- 14. SQL更新查询
- 15. SQL更新查询
- 16. SQL更新查询没有更新数据库
- 17. SQL更新查询不更新数据库
- 18. 更新数据库查询
- 19. 查询更新列数据
- 20. 更新查询数据库
- 21. 数据在更新查询
- 22. SQL更新查询选择查询
- 23. SQL Server触发器:更新查询新旧数据
- 24. SQL更新\循环查询
- 25. SQL更新查询利用
- 26. Safari不更新SQL查询
- 27. SQL查询来更新行
- 28. SQL查询更新单表
- 29. php更新sql和查询
- 30. 在sql中更新查询
什么是您期待的数字目标格式?像“yyyymmdd”或其他不同的东西?也许是一个unix时间戳? – Bjoern 2013-04-25 06:10:39
请更新您的问题。 – Luv 2013-04-25 06:16:54