首页 > 解决方案 > SQL Query中如何根据其最左侧的String值是数字来确定和避免记录?

问题描述

我有一个表AgentDetail,我需要创建一个查询,它只返回包含最左边 5 个数字的记录。

该表有 3 列

AgentId, AgentName, AgentTextCode

AgentTextCode列中,可能有 5 位数字或任何文本值(有时 2 字节字符)。所以输出记录应该只有那些值以 5 位数字开头的记录(不可能是十进制值)。

样本数据和输出:

在此处输入图像描述

标签: sql-serversql-server-2012

解决方案


我们可以LIKE在这里使用:

SELECT
    AgentID, AgentName, AgentTextCode
FROM yourTable
WHERE AgentTextCode LIKE '[0-9][0-9][0-9][0-9][0-9]%';

SQL Server 的LIKE运算符支持一些原始的正则表达式功能,如上所示。


推荐阅读