Separate Character from date on filename sql 表达式
Separate Character from date on filename sql expression
我只是想知道如何使用 SQL 表达式将字符与文件名分开,例如文件名是 IED_2015Nov020914.AF 我想分开或拆分 "Date" 中的“2015Nov02” SQL 表达式的 where 子句。我尝试使用名为 "cross apply" 的函数,但不幸的是它在这里不起作用是我目前的工作
where (patindex('%[0-9]%', File_name) > "2018-Nov-12"));
谢谢
最简单的方法是定位 _
个字符和子字符串 9
个字符。
CREATE TABLE #tab(filename VARCHAR(100));
INSERT INTO #tab VALUES ('IED_2015Nov020914.AF');
SELECT SUBSTRING(filename, CHARINDEX('_',filename)+1, 9) AS result
FROM #tab;
警告:这仅在您的数据具有固定格式时有效:
...._yyyyMMMdd....
如果需要,您可以 CAST
迄今为止的结果:
SELECT CAST(SUBSTRING(filename, CHARINDEX('_',filename)+1, 9) AS DATE) AS result
FROM #tab;
我只是想知道如何使用 SQL 表达式将字符与文件名分开,例如文件名是 IED_2015Nov020914.AF 我想分开或拆分 "Date" 中的“2015Nov02” SQL 表达式的 where 子句。我尝试使用名为 "cross apply" 的函数,但不幸的是它在这里不起作用是我目前的工作
where (patindex('%[0-9]%', File_name) > "2018-Nov-12"));
谢谢
最简单的方法是定位 _
个字符和子字符串 9
个字符。
CREATE TABLE #tab(filename VARCHAR(100));
INSERT INTO #tab VALUES ('IED_2015Nov020914.AF');
SELECT SUBSTRING(filename, CHARINDEX('_',filename)+1, 9) AS result
FROM #tab;
警告:这仅在您的数据具有固定格式时有效:
...._yyyyMMMdd....
如果需要,您可以 CAST
迄今为止的结果:
SELECT CAST(SUBSTRING(filename, CHARINDEX('_',filename)+1, 9) AS DATE) AS result
FROM #tab;