Sql 在字符串中查找第一个日期事件

Sql 在字符串中查找第一个日期事件,sql,tsql,Sql,Tsql,我有一个有趣的任务,在文本字段中查找第一个日期值。没有标识符,有时日期会以各种格式出现,如“01/01/2015”、“1/1/2015”、“1/1/15”、“1/01/15”等。 格式将始终为月、日、年;但是,它可能会因 年月日、年月日、年月日等 例如: 西班牙的降雨主要发生在2015年1月1日,然后在 2015年2月3日和2015年1月4日 我想捕获“01/01/2015”,因为它是字符串中的第一个日期 试图找出最简单的方法来提取第一次出现的日期,但目前还没有这样的运气。 有什么建议吗 Tks

我有一个有趣的任务,在文本字段中查找第一个日期值。没有标识符,有时日期会以各种格式出现,如“01/01/2015”、“1/1/2015”、“1/1/15”、“1/01/15”等。 格式将始终为月、日、年;但是,它可能会因 年月日、年月日、年月日等

例如:

西班牙的降雨主要发生在2015年1月1日,然后在 2015年2月3日和2015年1月4日

我想捕获“01/01/2015”,因为它是字符串中的第一个日期

试图找出最简单的方法来提取第一次出现的日期,但目前还没有这样的运气。 有什么建议吗


Tks

好的,这会有些效果,或者至少是一个好的开始:

您可以了解有关字符串函数的更多信息

结果:

如果您使用的是sql,则可以使用LIKE来标识字符串中是否有日期:

SELECT * FROM Table WHERE Value LIKE '% %/%/% %' 

每个“%”匹配一个或多个字符。如果要提取第一个日期,可以使用case语句。请参阅:

第一个日期是指最短日期吗?日期的格式是否始终为mm/dd/yyyy,或者您也可以使用其他格式?始终为月/日/年;但是,某些单个数字值显示时没有零。例如:2015年1月10日或2015年1月2日或2015年10月2日。下面的答案看起来更好。谢谢。传递给LEFT或SUBSTRING函数的长度参数无效。我将尝试在解析中找出问题所在。
SELECT * FROM Table WHERE Value LIKE '% %/%/% %'