Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 “转换时转换失败”是否有方法确定行/条目?_Sql_Sql Server_Tsql - Fatal编程技术网

Sql “转换时转换失败”是否有方法确定行/条目?

Sql “转换时转换失败”是否有方法确定行/条目?,sql,sql-server,tsql,Sql,Sql Server,Tsql,有没有办法确定SQL在转换哪些行/日期条目时遇到问题?有30万个日期条目,我不确定哪一个我的代码有问题。该代码在过去一直有效 从字符转换日期和/或时间时转换失败 串 您可以使用ISDATE检查列是否为日期格式: 您可以使用ISDATE检查列是否为日期格式: 您可以使用TRY\u CONVERT搜索无效的日期文字: SELECT * FROM tab_name WHERE TRY_CONVERT(DATE, col_name) IS NULL AND col_name IS NOT NULL;

有没有办法确定SQL在转换哪些行/日期条目时遇到问题?有30万个日期条目,我不确定哪一个我的代码有问题。该代码在过去一直有效

从字符转换日期和/或时间时转换失败 串


您可以使用ISDATE检查列是否为日期格式:


您可以使用ISDATE检查列是否为日期格式:

您可以使用TRY\u CONVERT搜索无效的日期文字:

SELECT *
FROM tab_name
WHERE TRY_CONVERT(DATE, col_name) IS NULL
  AND col_name IS NOT NULL;
如有必要,您可以提供

您可以使用TRY\u CONVERT搜索无效的日期文字:

SELECT *
FROM tab_name
WHERE TRY_CONVERT(DATE, col_name) IS NULL
  AND col_name IS NOT NULL;
如有必要,您可以提供


您已经用mysql和sql server标记了这个问题。你实际上在使用哪个数据库?我知道有两种方法。第一种方法是将数据集划分为较小的行集,并尝试分别插入它们,直到找到问题行为止。第二种方法是对原始数据集执行一些查询,并查找您试图转换的字符串中的异常情况—太长、通常与日期无关的字符、非法模式等。这通常是一个麻烦。一旦发现问题,您应该尝试向流程中添加一些保护措施,以防止该问题再次发生。似乎有人在表中插入了无效的日期/时间戳值。。。使用正确的列数据类型,您不会遇到类似的问题。我看不到任何代码,我认为您遗漏了一些内容。您可以标记您正在使用的sql server版本吗?较新版本有一些有用的功能,可能会有所帮助。您已经用mysql和sql server标记了这个问题。你实际上在使用哪个数据库?我知道有两种方法。第一种方法是将数据集划分为较小的行集,并尝试分别插入它们,直到找到问题行为止。第二种方法是对原始数据集执行一些查询,并查找您试图转换的字符串中的异常情况—太长、通常与日期无关的字符、非法模式等。这通常是一个麻烦。一旦发现问题,您应该尝试向流程中添加一些保护措施,以防止该问题再次发生。似乎有人在表中插入了无效的日期/时间戳值。。。使用正确的列数据类型,您不会遇到类似的问题。我看不到任何代码,我认为您遗漏了一些内容。您可以标记您正在使用的sql server版本吗?较新版本具有一些有用的功能,可能会有所帮助。