Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 - Fatal编程技术网

从路径中仅获取日期部分,并且该部分将在sql server中动态交换

从路径中仅获取日期部分,并且该部分将在sql server中动态交换,sql,sql-server,Sql,Sql Server,我想从路径中检索特定部分,并将该值转换为日期格式。 **\Devenvironment\E$\test\Account\20022021\Account\u Customer Line\u test\u transaction\u 15022021.xlsx** 从上面的路径中,我只想得到2002202,并将该值转换为日期格式(YYYY-MM-DD)。 有人能帮我吗 问候,, Khatija这将采取一些步骤。首先,您可以使用PATINDEX查找日期和时间值的位置;然后子字符串提取该值。然后,您需

我想从路径中检索特定部分,并将该值转换为日期格式。 **\Devenvironment\E$\test\Account\20022021\Account\u Customer Line\u test\u transaction\u 15022021.xlsx** 从上面的路径中,我只想得到2002202,并将该值转换为日期格式(YYYY-MM-DD)。 有人能帮我吗

问候,,
Khatija

这将采取一些步骤。首先,您可以使用
PATINDEX
查找日期和时间值的位置;然后
子字符串
提取该值。然后,您需要使用
STUFF
'-'
注入字符串,以便最终可以
尝试使用样式代码转换它

我使用
值来实现这一点,因为它更容易分解不同的部分

DECLARE@YourString varchar(100)='\Devenvironment\E$\test\Account\20022021\Account\u Customer Line\u test\u transaction\u 15022021.xlsx';
选择*,尝试转换(日期,S.FormattedDate)
FROM(VALUES(@YourString))V(YourString)
交叉应用(值(子字符串(V.YourString,NULLIF(PATINDEX('%[0-3][0-9][0-1][0-9][1-2][0-9][0-9][0-9]',V.YourString),0),8))SS(日期字符串)
交叉应用(值(STUFF(STUFF(SS.DateString,5,0',-',3,0',-')))S(FormattedDate);

谢谢拉鲁。我们可以索引和子字符串。但对我来说,问题是这条路径将动态变化。所以我不能用substring函数来找到这个特殊部分。我不知道怎么用这个。此路径来自表列。若你们不介意的话,你们可以把它修改成表列并发送给我。很抱歉再次询问“所以我不能使用子字符串函数来查找此特定部分”我不明白您在这里的意思<代码>子字符串
正在使用
PATINDEX
中的值获取位置。。另外,用表替换
中的
中的第一个对象对您来说应该不是那么简单。我找到了一个解决方案。谢谢