我们的数据库中存储了大量的业务名称。我们的一些客户输入了SSN的名字.我正在尝试获取所有的商业名称
问题是:
查找名称中每个单词的长度,并返回长度为9或11的任何人。
例子:
字符串中的任何单词(数字、字母或两者的组合),无论是9还是11,都应该是returned..thank
发布于 2015-10-05 20:55:35
你可以像这样。百分比表示忽略列名之前或之后的任何内容,空格以确保前后有空格,然后范围搜索数值。
SELECT
*
FROM
Table
WHERE
Name LIKE '% [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] %'
OR Name LIKE '% [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] %'编辑:
实际上,重新阅读初始问题时,您似乎并不是只查找9或11的数字字符串,而是所有的字符串。在这种情况下,@JoeMalpass可能是更正确的,我认为。
SELECT
*
FROM
Table
WHERE
--Surrounded by spaces
Name LIKE '% [^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ] %'
OR Name LIKE '% [^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ] %'
--At the beginning with extra information after
OR Name LIKE '[^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ] %'
OR Name LIKE '[^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ] %'
--At the beginning with extra information before
OR Name LIKE '% [^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]'
OR Name LIKE '% [^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]'
--The entire column
OR Name LIKE '[^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]'
OR Name LIKE '[^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]'https://stackoverflow.com/questions/32957544
复制相似问题