如何获得结果中反映的包含878的数字字段。它应该包含两个8和一个7。编辑:使用tsql数字8780788700结果8788
1qczuiv01#
只有6种组合,那么最粗糙的组合呢?
Number = 877 OR Number = 787 OR Number = 778 OR Number = 788 OR Number = 878 OR Number = 887
如果数字不只是3位数,则将数字转换为字符串,然后:
NumberAsString LIKE '%877%' OR NumberAsString LIKE '%787%' OR NumberAsString LIKE '%778%' OR ...
htrmnn0y2#
更新:这不是一个好的解决方案,相反,我会选择这里建议的下一个解决方案。如果您使用的是mysql regex,那么regex就是您的朋友:
SELECT * FROM _TABLE_ WHERE `Number` REGEXP "[7]{1}" AND `Number` REGEXP "[8]{2}";
更多信息:https://dev.mysql.com/doc/refman/8.0/en/regexp.html我认为在sql server中应该是这样的:
SELECT * FROM _TABLE_ WHERE `Number` LIKE '%[7]{1}%' AND `Number` LIKE '%[2]{1}%';
更多信息:https://docs.microsoft.com/en-us/sql/t-sql/language-elements/like-transact-sql?redirectedfrom=msdn&view=sql-server-ver15
2条答案
按热度按时间1qczuiv01#
只有6种组合,那么最粗糙的组合呢?
如果数字不只是3位数,则将数字转换为字符串,然后:
htrmnn0y2#
更新:这不是一个好的解决方案,相反,我会选择这里建议的下一个解决方案。
如果您使用的是mysql regex,那么regex就是您的朋友:
更多信息:https://dev.mysql.com/doc/refman/8.0/en/regexp.html
我认为在sql server中应该是这样的:
更多信息:https://docs.microsoft.com/en-us/sql/t-sql/language-elements/like-transact-sql?redirectedfrom=msdn&view=sql-server-ver15