我有一个名为“Posts”的表,其“WBS”字段的类型为varchar(50)。Wbs字段中的值匹配以下模式:例如:“1.2.3”、“123.123”、“123”、“123.3.2.1”等。
我需要选择“WBS”字段的值有两个点、一个点或没有的所有记录。
我的问题是:如何计算字符串中特定字符的出现次数?
例如,在MySQL和Oracle上,我可以尝试以下查询:
SELECT *
FROM posts
WHERE LENGTH(WBS) - LENGTH(REPLACE(WBS, '.', '')) = 1;
1条答案
按热度按时间1qczuiv01#
您可以在HQL中使用几乎相同的查询。假设您的实体名为
Post
,而WBS
的属性为wbs
,则可以使用: