MySQL - 选择给定字符可重复x次的行

时间:2018-01-29 18:11:00

标签: mysql

我需要以这种方式创建一个select语句:

SELECT * FROM mytable where COUNT_CHARACTER('-', mycolumn) = 2

选择所有记录中字符“ - ”正好出现两次的所有行。
MySQL中有一个函数作为COUNT_CHARACTER吗?

2 个答案:

答案 0 :(得分:1)

这可能会发挥技巧

func firstInNumbers(numbers: [Int], passingTest: (_ number: Int)->Bool) -> Int? {

    for number in numbers {
        if passingTest(number) {
            return number
        }
    }
    return nil
}

let numbers = [1,2,3,4,5]

func greaterThanThree(_ number: Int) -> Bool {
    return number > 3
}

var firstNumber = firstInNumbers(numbers: numbers, passingTest: greaterThanThree)
print(firstNumber)

答案 1 :(得分:1)

这个表达通常可以解决问题。

LENGTH(MyField) - LENGTH( REPLACE ( MyField , '-', '') )

...

SELECT
( 
    SELECT 
        MyField,
        FoundCount = LENGTH(MyField) - LENGTH( REPLACE ( MyField , '-', '') )
    FROM 
        MyTable 
)AS X
WHERE
    FoundCount>2