我只是想知道如何使用 SQL 表达式将字符与文件名分开,例如文件名是 IED_2015Nov020914.AF 我想在 SQL 表达式的 where 子句中分隔或拆分“日期”即“2015Nov02”。我尝试使用名为“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;
关于mysql - 在文件名sql表达式上将字符与日期分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33473745/