获取句子中的单词长度
我们有大量的商业名称存储在我们的数据库中。我们的一些客户进入SSN到names..i我试图让所有的企业名称获取句子中的单词长度
问题:
找到名字每个字的长度,并返回任何人具有9的长度或11
实施例:
测试123456789 TEST2 - 这应该在结果
测试123456 test2-显示 - 这不应该显示
测试123456789 TEST2 12345678911 - 本应显示
任何字在字符串中(数字,或字母或两者的组合),其是9或11应returned..thank你
你可以只使用等。百分号用于忽略列名称前后的任何内容,用于确保前后有空格的空格,以及数字值的范围搜索。
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 '[^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]'
您还应该包含以子字符串开头或结尾的版本(重复子句末尾没有'%'的末尾处的'%')。 – CactusCake
他也可以删除空格,因为%不包含任何内容,但公平点。然后 – hcaelxxam
卸下空间将允许任何字符串,虽然长于911个字符... – CactusCake
欢迎堆栈溢出!你似乎在要求某人为你写一些代码。堆栈溢出是一个问答网站,而不是代码写入服务。请[see here](http://stackoverflow.com/help/how-to-ask)学习如何编写有效的问题。 –
感谢@hcaelxxam它解决了我的problem..sorry如果我问的代码,因为我不知道从哪里开始,我的想法是分割字符串成单词,然后检查其将采取的方式长的每个单词的长度。 – showri