SQL LIKE语句,适用于不超过某个字符的所有内容

Jer*_*rst 1 sql database sql-server sql-like

我的数据库包含“网站”列,其中包含以下数据:

foo1.web.com
foo2.gov
doo3.shoo.net
baa.com
baa2.shoo.com
Run Code Online (Sandbox Code Playgroud)

我正在寻找一条选择语句,该语句可以捕获所有类似变量的内容,但是仅在第一个句点之前,我想忽略句点之后的所有内容:

DELCARE @variable varchar(MAX);
SET @variable = 'oo';

SELECT * WHERE website LIKE '%' + @variable + '%' --(but only apply like statement up to the first .)
Run Code Online (Sandbox Code Playgroud)

所以我会得到的是:

foo1.web.com
foo2.gov
doo3.shoo.net
Run Code Online (Sandbox Code Playgroud)

但它会遗漏

baa2.shoo.com
Run Code Online (Sandbox Code Playgroud)

我在这里先向您的帮助表示感谢!

编辑:使用SQL Server

dfu*_*ako 6

对于SQL Server,您只能查看URL的左N个字符oo。您将使用LEFTCHARINDEX找到第一个左N个字符.

SELECT * 
FROM @table
WHERE LEFT(val, CHARINDEX('.', val)) LIKE '%'+@variable+'%'
Run Code Online (Sandbox Code Playgroud)