sql - 如何在 SQL Server 的列中查找重复数字。例如11111、33333333、5555555555、7777777等

标签 sql sql-server replicate

我需要识别列中的重复数字(例如:1111、33333333、5555555555、777777777 等)。

我如何在 sql server 中执行此操作而不必对每个场景进行硬编码。列的最大长度为 10。任何帮助表示赞赏。

最佳答案

这将检查列中是否包含所有相同的值。

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))))

关于sql - 如何在 SQL Server 的列中查找重复数字。例如11111、33333333、5555555555、7777777等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686041/

相关文章:

php - 如何通过一个数据库连接将 mysql 结果存储在不同的单独变量中?

mysql - 为什么 PhpStorm 格式化会破坏从 phpmyadmin 导出的 SQL 文件?

sql - 使用增量记录创建基于 SQL 查询的每日报告

python - 创建重复N次的单项列表

Mysql查询查找下相同订单的 friend 和 friend 的 friend

php - SQL 到 PDO 用于将表内容传输到另一个表

java - Java 中 SQL Server PreparedStatement 的错误结果

c# - 如何从 gridview 将多条记录添加到 SQL Server 表中?

r - 如何计算大型数据集中出现的次数

Perl 哈希切片、复制 x 运算符和子参数