使用SQL,我想返回列中第三个正斜杠之前的所有文本
所以
/one/two/three/whatever/testing
会返回:
/one/two/three
在SQL中执行此操作的任何快速且肮脏的方法(特别是MS SQL 2005+下的MS T-SQL)吗?
由于您说的是“快速又肮脏”,因此我假设这种非常快速且非常肮脏的解决方案不会收到很多反对意见。下面的SQL使用多个SUBSTRING()函数来查找第三个斜杠:
SUBSTRING()
DECLARE @str VARCHAR(50) SET @str = '/one/two/three/whatever/testing' SELECT SUBSTRING(@str, 0, CHARINDEX('/', @str, CHARINDEX('/', @str, CHARINDEX('/', @str, CHARINDEX('/', @str, 0) + 1) + 1) + 1))
您可以在此处看到一个有效的示例。