【发布时间】:2014-04-17 17:09:18
【问题描述】:
尝试将日期列从 YYYYMMDD 更改为 MMDDYYYY,同时保持 varchar 值。目前我的专栏设置为 varchar(10)。有没有办法改变大量数字的字符串,因为我有数千行需要转换格式。
例如:
| ID | Date |
------------------------
| 1 | 20140911 |
| 2 | 20140101 |
| 3 | 20140829 |
我希望我的桌子看起来像什么:
| ID | Date |
------------------------
| 1 | 09112014 |
| 2 | 01012014 |
| 3 | 08292014 |
额外问题:如果有数据,例如 09/12/2012 的 91212 或应该是 08/01/2013 的 1381 之类的数据,在尝试转换此列时会导致问题吗?
【问题讨论】:
-
不要将日期存储为字符串。
-
我相信这些日期被存储为 unix 时间戳,它只是客户端向您展示一种更易读的格式。
-
而只是在选择时获取更正的格式日期
-
如果您将它们存储为字符串......永远不要以 YYYYMMDD 以外的格式存储它们。您将失去对该数据的任何排序或范围选择的可能性。
-
我完全同意。我只是在纠正所有垃圾数据时遇到困难的人。通过纠正过去,努力让未来的事情变得更顺利。
标签: sql sql-server