我的任务是列出位于维多利亚或塔斯马尼亚的公司和部门名称。“维多利亚”的价值可能有“维也纳”、“维克”等变体(塔斯马尼亚州也是如此)。
虽然这似乎是一个简单的任务,但我不知道该怎么做。我试着在一些字符前面使用百分比符号(%),但它显然不起作用。
我如何寻找所有的公司,在维多利亚和塔斯马尼亚与所有可能的变化?谢谢!
编辑:我正在使用Oracle执行任务。
发布于 2019-09-29 08:00:35
也许您可以使用regexp查询。示例:
SELECT
departament
FROM
location
WHERE
departmantname REGEXP '^(VIC|vic|Vic)'
ORDER BY id;
MYSQL:http://www.mysqltutorial.org/mysql-regular-expression-regexp.aspx
MSSQL:MSSQL正则表达式
发布于 2019-09-29 11:50:35
根据您的描述,like
应该足够了:
where lower(location) like 'vic%' or
lower(location) like 'tas%'
您还没有指定所有的变体是什么。这只是返回以这些前缀之一开头的所有位置。
您也可以将其表示为正则表达式:
where regexp_like(location, '^(vic,tas)', 'i')
对于'i'
匹配参数,比较是不区分大小写的.
https://stackoverflow.com/questions/58153279
复制相似问题