我已经阅读了论坛以找到我的问题的解决方案,但在使用查询时我遇到了MySQL错误。
我想提取字段的一部分,即FILE_NAME列中\\nt4\applications\prod\hde\atn\
之后的所有内容
这是查询:
SELECT FILE_NAME,
REPLACE (FILE_NAME,'\\nt4\applications\prod\hde\atn\','') as newfilename
from atn_documents
它总是给我一个
''\ 附近的语法错误
看起来要查看的字符串不能包含\ character ??
有人可以开车送我吗?
由于 塞德里克
答案 0 :(得分:2)
使用SUBSTRING_INDEX
:
SELECT
SUBSTRING_INDEX(FILE_NAME,
'\\nt4\\applications\\prod\\hde\\atn\\',
-1) AS path
FROM yourTable;
上述查询是您的要求的逐字实现,因为它只返回感兴趣的路径之后的内容。另请注意,您的查询甚至不运行的直接原因是,如果您希望将它们作为文字,则需要通过将它们加倍\\
来转义反斜杠。
答案 1 :(得分:0)
你必须逃避" \"查询中的字符。您可以添加其他" \"逃避它。
e.g。
SELECT FILE_NAME, REPLACE (FILE_NAME,'\\nt4\\applications\\prod\\hde\\atn\\','') as newfilename from atn_documents