2

列で繰り返される数字 (例: 1111、33333333、5555555555、777777777 など) を識別する必要があります。

すべてのシナリオをハードコーディングすることなく、SQL Server でこれを行うにはどうすればよいですか。列の最大長は 10 です。どんな助けでも大歓迎です。

4

2 に答える 2

9

これにより、列にすべて同じ値が含まれているかどうかがチェックされます。

SELECT *
FROM tablename
WHERE columnname = REPLICATE(LEFT(columnname,1),LEN(columnname))

Nicholas Cary が指摘しているように、列が数値の場合、最初に varchar としてキャストする必要があります。

SELECT *
FROM tablename
WHERE CAST(columnname AS VARCHAR(10)) = REPLICATE(LEFT(CAST(columnname AS VARCHAR(10)),1),LEN(CAST(columnname AS VARCHAR(10))))
于 2014-07-10T20:59:40.113 に答える