Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的日期更改为几个数字的组合-SQL Server_Sql_Sql Server_Date - Fatal编程技术网

我的日期更改为几个数字的组合-SQL Server

我的日期更改为几个数字的组合-SQL Server,sql,sql-server,date,Sql,Sql Server,Date,我的数据库中有一列生日。不知何故(不幸的是,我无法说出如何和为什么),日期变成了几个数字,列类型现在是char。 对不起,我不能告诉更多,因为这是一个新的项目,我只是有一些任务要做 例如,一个日期现在表示为081101(当然不是08/11/2001) 有没有可能让我回到原版?这些数字到底是什么?有什么线索吗?请尝试添加一个日期数据类型的新列 使用以下查询更新它选择CAST('081101'作为日期)返回日期格式“2008-11-01”。尝试一下: DECLARE @Date char(6) se

我的数据库中有一列
生日
。不知何故(不幸的是,我无法说出如何和为什么),日期变成了几个数字,列类型现在是
char
。 对不起,我不能告诉更多,因为这是一个新的项目,我只是有一些任务要做

例如,一个日期现在表示为
081101
(当然不是08/11/2001)


有没有可能让我回到原版?这些数字到底是什么?有什么线索吗?

请尝试添加一个日期数据类型的新列

使用以下查询更新它
选择CAST('081101'作为日期)
返回日期格式“2008-11-01”。

尝试一下:

DECLARE @Date char(6)
set @Date='081101'
SELECT CONVERT(datetime,SUBSTRING(@Date,5,2)+SUBSTRING(@Date,3,2)+LEFT(@Date,2))

以前该列的数据类型是什么?如果现在是
char
,那么以前是
date
?如果是这样,那么显然有人手动更改了表并弄乱了您的日期您有数据库备份吗?简单回答:如果您确定有不希望的更改,请从备份中还原您的表。数据库中是否有其他任何地方可以提供此日期的线索,比如他们18岁时注册的某项记录,以及有创建日期的表格?我确实认为,这可能是自SQL Server Min日期1/1/1753以来的天数,但81000将这些生日放在1800年左右,这可能不正确。即使是原始开发人员的真实生日的虚拟测试记录,现在改为X——如果你能告诉我们他的生日和X,我们可能会建议。Ps我假设是yymmdd而不是ddmmyy,因为它排序正确如果你不知道那个日期代表什么,我们也不知道。如果您没有任何日志记录,并且没有人“承认”,那么您可能需要使用备份;然后实现日志记录,这样如果它再次发生,您就可以知道它发生的时间和地点。