SQL Server - 仅将字段内容过滤为数字

2023-11-30

如何复制字段的值,但仅复制其数字?

我正在创建一个用于全文搜索的计算列,并且我想将电话号码字段(为 varchar)中的值复制到其中,但不使用其格式 - 仅数字。在我的计算列公式中执行此操作的命令是什么?

谢谢你!


您将必须编写一个用户定义的函数来执行此操作。有几种方法可以做到这一点,这是我通过快速谷歌搜索找到的一种方法。

CREATE FUNCTION dbo.RemoveChars(@Input varchar(1000))
RETURNS VARCHAR(1000)
BEGIN
  DECLARE @pos INT
  SET @Pos = PATINDEX('%[^0-9]%',@Input)
  WHILE @Pos > 0
   BEGIN
    SET @Input = STUFF(@Input,@pos,1,'')
    SET @Pos = PATINDEX('%[^0-9]%',@Input)
   END
  RETURN @Input
END

警告:我不会将其放在大型表的 WHERE 条件中,或者放在返回数百万行的 SELECT 中,但它会起作用。

最终,您可能最好在应用程序的 UI 中删除非数字字符,而不是在数据库代码中删除非数字字符。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server - 仅将字段内容过滤为数字 的相关文章

  • 如何拥有引用另一个表的检查约束?

    我在 SQL Server 2008 数据库中有以下表 tblItem 其中有一个ItemID field 好项目 它还有一个 ItemID 字段 并且有一个指向 tblItem 的外键 tblBadItem 它也有一个 ItemID 字段
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • Oracle Text:如何清理用户输入

    如果有人有使用 Oracle 文本的经验 CTXSYS CONTEXT 我想知道当用户想要搜索可能包含撇号的名称时如何处理用户输入 在某些情况下 转义 似乎有效 但对于单词末尾的 s 则不起作用 s 在停用词列表中 因此似乎已被删除 目前
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We
  • SQL Server 2008。允许远程连接吗?

    我在 Windows XP Pro 机器上安装了 SQL Server 2000 和 2008 我可以在本地连接到两个数据库实例 从另一个机器 Windows 7 机器 中 我可以连接到第一个机器上的 SQL 2000 实例 但无法使用本地
  • SQL查询查找具有特定数量关联的行

    使用 Postgres 我有一个架构conversations and conversationUsers Each conversation有很多conversationUsers 我希望能够找到具有确切指定数量的对话conversati
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • 处理与不同相关实体的一对多的正确模式

    我有一个 C 项目 我使用实体框架作为 ORM 我有一个User 可以向多家银行付款 每家银行都是一个独立的实体 并且每家银行都由不同的字段描述 问题是 一User可以没有或有很多不同的Banks 我不太确定如何对此进行建模 临时解决方案是
  • SQL:如何从一个表中获取另一个表中每一行的随机行数

    我有两个数据不相关的表 对于表 A 中的每一行 我想要例如表 B 中的 3 个随机行 使用光标这相当容易 但速度非常慢 那么我该如何用单个语句来表达这一点以避免 RBAR 呢 要获得 0 到 N 1 之间的随机数 可以使用 abs chec
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • 如何获得一列中的最大数量?

    我一直在尝试找到一个如何获取列中最大数字的示例 我想做的是 找到 TABLE A 中的最大列数 点 列 例如 我想输出这个 MAX 数字
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • BULK INSERT 返回错误“访问被拒绝”

    运行批量插入时 BULK INSERT MyDatabase dbo MyTable FROM Mylaptop UniversalShare SQLRuleOutput csv WITH FIRSTROW 2 FIELDTERMINATO
  • 如何在 SQL Server 中不循环更新列?

    出于性能角度的考虑 我只需要删除循环并使用一些联接或其他解决方案来更新 Result 表中的数据并获得循环返回的相同结果 标量函数 CREATE FUNCTION MultiplyerScl a INT b INT RETURNS INT
  • SQL服务器超时

    我的应用程序是在经典 asp 上开发的 但也使用 asp net 因为我正在将应用程序迁移到 Net 上 它使用 SQL Server 作为数据库并托管在 Windows Server 2003 上 现在的问题是应用程序在很长一段时间内继续
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 总和和不同不会改变结果?

    我是一个新手 试图在这里解决这个问题 到目前为止还没有运气 非常感谢任何帮助 Select Distinct AB agency no ab branch no AS AGENCY BRANCH count AB agency no ab

随机推荐

  • 德国引号在tinytex/rmarkdown 中被破坏 - 即使使用包“csquotes”

    我想要的是 我想通过 MacOS Catalina 上的 rmarkdown 和tinytex 在我的 TeX PDF 中添加德语引号 参见示例 问题 它曾经按照指导方针工作如此处提议的 但现在 它不再起作用了 我只得到英文引号 但是not
  • CSS中伪元素前的“&”是什么意思?

    以下 CSS 取自推特引导程序与号 字符的含义是什么 clearfix zoom 1 before after display table content after clear both That s LESS 而不是 CSS 此语法允许
  • 会话变量未从 http://www.xxxx.com 转移到 http://xxxx.com

    我网站上的一些用户让我意识到了这个问题 许多用户进入他们的浏览器http xxxx com然后登录 然后他们可能会点击一个链接 将他们带到http www xxxx com它要求他们再次登录 这是以前有人遇到过的已知问题吗 我尝试用谷歌搜索
  • PCIe 总线上的写入是原子的吗?

    我是 PCIe 的新手 所以这可能是一个愚蠢的问题 这似乎是询问有关 PCIe 接口的相当基本的信息 但我无法找到答案 因此我猜测我缺少一些使答案显而易见的信息 我有一个系统 其中有一个 ARM 处理器 主机 通过 PCIe 设备 与 Xi
  • 在 C# 中读取 Excel 文件时出现问题

    我正在使用此代码读取带有 OLEDB 连接的 Excel 文件 var connectionString string Format Provider Microsoft Jet OLEDB 4 0 data source 0 Extend
  • 获取聚合中嵌套数组的总和

    好吧 我有一个似乎无法解决的问题 我有一个这样的文档 playerId 43345jhiuy3498jh4358yu345j leaderboardId 5b165ca15399c020e3f17a75 data type Eclectic
  • .NET 安装包有时无法完全删除以前的版本

    我使用 VS2008 安装包分发我的应用程序 通常效果很好 当我创建应用程序的新版本时 我会进入并增加Version安装包上的属性并验证RemovePreviousVersions属性设置为 True 这在大多数情况下都工作得很好 我只是运
  • 将位图保存到 MemoryStream 时发生 GDI+ 异常

    我在 Windows 窗体应用程序中遇到问题 当我保存到 MemoryStream 时 Bitmap Save 失败 该问题似乎只间歇性地发生在一台机器上 到目前为止 而坏消息是在客户站点上 我无法在机器上进行调试 但我得到了堆栈跟踪 将问
  • Android NDK 和渲染到动态壁纸

    我只是在寻找开始学习 NDK 的机会 并考虑到一个特定的项目 我想从 NDK 端不断渲染变化的位图 以便能够在动态壁纸中显示它 因此我在这里讨论的不是渲染到 OpenGL 纹理 而是渲染到位图 我用谷歌搜索了一下 发现有一个选项可以直接操作
  • 如何在 ES6 类中创建“公共静态字段”?

    我正在创建一个 Javascript 类 我想要一个像 Java 中那样的公共静态字段 这是相关代码 export default class Agent CIRCLE 1 SQUARE 2 这是我得到的错误 line 2 col 11 C
  • XPath 中 .// 和 //* 有什么区别?

    通过 Firebug 查找相对 XPath 时 它会创建类似 id Passwd 如果我们在开头不使用点它的含义会怎么样 只需添加 在 Xpath 中 它突出显示 各种页面元素 代表什么 以下是 Gmail 密码字段的 XPath 有什么意
  • 如何使用 Retrofit 2.0 解析 XML 响应?

    您好 我是 Android 编程新手 我已经浏览了一些有关如何使用改造解析 XML 响应的链接 并且我尝试了下面的 XML 如图所示 我需要在 POJO 类中做任何必要的更改吗 但我在 Logcat 中收到 NullPointer 异常 当
  • NullPointerException 使用模拟上下文创建 AppCompatImageView

    我收到了NullPointerException当我尝试创建一个AppCompatImageView带着嘲笑Context在测试中 与正常人做同样的事情ImageView works 本次测试通过 import android conten
  • 在 Azure Front Door 后面设置多个 Web 应用程序的正确方法是什么?

    我有 3 个后端池 1 个是 API 2 个是 Web 应用程序 我已在 Azure Front Door 中设置路由以路由到正确的区域 但如何修改 Web 应用程序以对所有链接使用 Front Door URL 而无需手动对它们进行硬编码
  • C++“命名空间范围”

    C 规范 http www open std org jtc1 sc22 wg21 docs papers 2011 n3242 pdf 第 7 5 4 节 指出 链接规范只能出现在名称空间范围内 命名空间范围 到底是什么意思 这是否意味着
  • 在容器外部定义 jta 数据源

    我们的应用程序当前使用在 JBossstandalone xml 中定义的数据源 基本上我们需要在应用程序中而不是在容器中定义它一段时间 我们当前的设置是 应用程序上下文 xml
  • 如何使用 scanf \ fscanf 读取一行并解析为变量?

    我正在尝试读取每行使用以下格式构建的文本文件 字符 字符 整数 i e 啊啊啊 dfdsd 23 bbbasdaa ddd 100 我想使用 fscanf 从文件中读取一行 并自动将该行解析为变量 string1 string2 intA
  • 更改已编译可执行文件的 .NET Framework 目标

    由于 Windows 8 默认情况下不包含 NET 2 3 5 我想将一些 NET 2 0 编译的可执行文件转换为 NET 4 5 而无需使用 VS 2012 重新编译它们 是否有用于此任务的实用程序 您只需创建或修改 app config
  • 带有图像和文本的 HTML 标题 - 将文本与底部对齐?

    我正在用 CSS 编写 HTML 页面 在页面顶部 我想显示带有图像和文本的标题 图像位于文本左侧 图像大小为 64 x 64 像素 我希望文本较大 除了我想将文本对齐在底部之外 我几乎可以做所有事情 但是 无论我做什么 我似乎都无法让文本
  • SQL Server - 仅将字段内容过滤为数字

    如何复制字段的值 但仅复制其数字 我正在创建一个用于全文搜索的计算列 并且我想将电话号码字段 为 varchar 中的值复制到其中 但不使用其格式 仅数字 在我的计算列公式中执行此操作的命令是什么 谢谢你 您将必须编写一个用户定义的函数来执