我试图从不同长度的SQL中的字符串中选择一个变量,但一直在努力这样做。
例如,字符串可以是:
"autoload": {
"psr-4": {
"MyNamespace\\": "src/"
}
},
我试图从字符串的倒数第二行提取LapsedPrdr(这是一个变量,但总是在那个点AFAIK中)。
我一直在使用Substring和CHARINDEX函数,但一直无法正确使用它。
在下面的代码中(LogMsg是字符串)我试图检索LapsedPrdr,看看我是否可以让它工作,即使它是静态的,但无济于事。
require_once 'vendor/autoload.php';
$login = new \MyNamespace\LoginSystem();
...
很抱歉缺乏明显的知识或者之前已经提出过这个问题,并提前感谢您提供有关此问题的任何信息!
编辑:字符串恰好包含Oracle命令,但该列在SQL Server中。
谢谢。
答案 0 :(得分:1)
您可能需要在子字符串中添加一些+ 1或-1。
Select substring(LogMsg,
CHARINDEX('"DETAILS"."TYPE" = ', LogMsg),
CHARINDEX(' ) ) LimitingTable WHERE ', LogMsg) -
CHARINDEX('"DETAILS"."TYPE" = ', LogMsg)
) As TYPE
From Table
SUBSTRING(string_expression,start,length)
CHARINDEX(expressionToFind,expressionToSearch [,start_location])