T-SQL 去除所有非字母和非数字字符

2024-04-23

有没有一种更聪明的方法来删除所有特殊字符,而不是使用一系列大约 15 个嵌套替换语句?

以下代码有效,但仅处理三个字符(与号、空格和句点)。

select CustomerID, CustomerName, 
   Replace(Replace(Replace(CustomerName,'&',''),' ',''),'.','') as CustomerNameStripped
from Customer 

一种灵活的方式;

CREATE FUNCTION [dbo].[fnRemovePatternFromString](@BUFFER VARCHAR(MAX), @PATTERN VARCHAR(128)) RETURNS VARCHAR(MAX) AS
BEGIN
    DECLARE @POS INT = PATINDEX(@PATTERN, @BUFFER)
    WHILE @POS > 0 BEGIN
        SET @BUFFER = STUFF(@BUFFER, @POS, 1, '')
        SET @POS = PATINDEX(@PATTERN, @BUFFER)
    END
    RETURN @BUFFER
END

select dbo.fnRemovePatternFromString('cake & beer $3.99!?c', '%[$&.!?]%')

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

T-SQL 去除所有非字母和非数字字符 的相关文章

  • 按 1.99.10 和 1.99.9 sql server 排序

    抱歉我的错误 我应该提供问题的真实样本 我的 ID 中包含以下字符 示例代码 select ID from student order by ID Expected output from mine but system output JA
  • 在 LINQ 中选择案例[重复]

    这个问题在这里已经有答案了 我怎样才能把它翻译成 LINQ 呢 select t age as AgeRange count as Users from select case when age between 0 and 9 then 0
  • 在 Transact SQL 中何时使用 EXCEPT 而不是 NOT EXISTS?

    我最近刚刚通过阅读同事编写的代码了解到 SQL Server 中存在新的 EXCEPT 子句 有点晚了 我知道 真的让我很惊讶 但是我对它的使用有一些疑问 建议什么时候使用它 使用它与使用 AND NOT EXISTS 的相关查询在性能方面
  • 查找 SSIS 包上次修改/部署日期 - SQL Server

    我想通过执行 SQL 查询找到 SSIS 包的最后修改日期 例如 下面的查询按降序返回过程的最后修改日期 我期待对 SSIS 包进行同样类型的查询 可以从DB获取这些信息吗 select name create date modify da
  • 在 CASE 语句中使用 CAST 时出现数据转换错误

    运行以下命令时出现错误 将数据类型 nvarchar 转换为 float 时出错 declare completeCommand nvarchar max x paramVal nvarchar 100 paramName nvarchar
  • SQL Server 中 SYSDATETIME 数据类型的准确性

    我已经在 SQL Server 2008 的存储过程中使用 SYSDATETIME 进行了一些测试 我设置了一个包含带有 IDENTITY 字段的 datetime2 7 的表 我了解这种数据类型的精度和准确度之间的差异 但是 在从此示例中
  • DATEADD(day, -7, GETDATE()) - 是否考虑了时间?

    我正在通过 Amazon Redshift 在 Aginity 中编写 SQL 查询来提取过去 7 天的数据 这Date我调用的列是变量类型 DATE 输出示例如下 5 30 2017 0 00 当我调用下面的函数时 运行此查询在一天中的什
  • 替换 Select 语句中的 NULL 和空字符串

    我有一个专栏可以有NULL或空白区域 即 值 我想用有效值替换这两个值 例如 UNKNOWN 我发现的各种解决方案建议修改表本身内的值 然而 在这种情况下 这不是一个选项 因为数据库用于开发和 或修补得非常差的第三方应用程序 实际上 我认为
  • SQL Server 2008 中 CLR 中的线程

    我有一个CLR运行在下面的进程SQL Server2008 它构建了多个表数据的缓存以保存在静态类中以供其他调用稍后使用 我的问题是 我可以通过生成线程来加载缓存中的每个数据集 表来改进加载此缓存的过程吗 我过去一直回避这一点 因为各种帖子
  • 如何查询最近7天的总计?

    我正在使用 SQL Server 2008 我想编写一个查询来提供给定天数的总活动量 具体来说 我想统计过去 7 天每天的总票数 我的桌子看起来像这样 VoteID VoteDate Vote BikeID 1 2012 01 01 08
  • DateTime2 之后的数字是用于纳秒目的吗?

    我已经阅读了该文档 但我不完全理解 默认精度是datetime2 7 7代表纳秒的精度 不 该数字表示秒的小数点后保留的位数 3 表示毫秒 6 微秒 7 相当于 100 纳秒的精度
  • 区分大小写变得疯狂

    我有一个数据库 我正在尝试执行以下查询 SELECT COUNT FROM Resource WHERE Name LIKE ChinaApp SELECT COUNT FROM Resource WHERE Name LIKE China
  • 如何在 SQL Server 查询中的 FROM 子句中使用变量?

    我正在创建一个查询 该查询将选择表中的所有数据 查询将根据我将传递给存储过程的变量选择表 在我的例子中 如果我执行example sp table1它将选择table1 如果我使用同样的事情example table table2 应该选择
  • 单个 sql 查询可以处理 sql server 中的 null 或值日期范围

    使用 SQL Server 2008 我有一个存储过程 其中开始日期和结束日期作为日期范围的输入参数 寻找一个singlesql 查询 其中在 where 子句中有一个开始日期和结束日期 可以处理日期均为空或都有值的两种情况 我不想使用 I
  • 动态SQL生成列名?

    我有一个查询 我正在尝试将行值转换为列名称 目前我正在使用SUM Case As ColumnName 声明 像这样 SELECT SKU1 SUM Case When Sku2 157 Then Quantity Else 0 End A
  • 如何重命名 SQL Server 中名称中带有方括号的内容?

    我的一张桌子上有一列 周围有方括号 Book Category 我想重命名为Book Category 我尝试了以下查询 sp rename BookPublisher Book Category Book Category COLUMN
  • 如何对 Stack Exchange Data Explorer (SEDE) 结果进行分页?

    Using 数据浏览器 https data stackexchange com stackoverflow query 875322创建查询 SELECT P id creationdate tags owneruserid answer
  • 在 SQL Server 数据库之间传递用户定义的表类型

    我在 SQL Server 的一个数据库中有一个用户定义的表类型 我们称之为DB1 我的类型的定义非常简单 仅包含 2 列 创建我的类型的脚本如下 CREATE TYPE dbo CustomList AS TABLE ID int Dis
  • 如何:使用 SQL Server 2008 创建自动更新修改日期的触发器

    很高兴知道如何创建一个自动更新的触发器modifiedDate我的 SQL Server 表中的列 Table 时间输入 Id PK UserId FK Description Time GenDate ModDate 触发代码 TR Ti
  • SQL 查询Where Column = '' 返回表情符号字符

    好的 我有一个包含三列的表 Id Key Value 我想删除所有行Value是空的 因此 我在删除之前编写了要选择的查询 Select from Imaging ImageTag where Value 到目前为止一切都很标准 现在这是奇

随机推荐

  • 如何获取 bash 中的第 n 个位置参数?

    如何获得nBash 中的第一个位置参数 其中n是变量吗 使用 Bash 的间接功能 bin bash n 3 echo n 运行该文件 ind apple banana cantaloupe dates 生产 cantaloupe Edit
  • Minecraft Forge 1.8 - 加载块纹理

    我刚刚开始学习 Java 同时修改 Minecraft 我看过有关使用 Minecraft Forge API 将块添加到游戏中的教程 但我遇到了问题 不再有 setBlockTextureName 方法 所以我不知道该怎么办 我在游戏中添
  • css 中 & 的作用是什么

    我正在查看一些遗留代码 并在 css 文件中发现如下内容 user modal width auto height auto modal fade in margin top 0 margin left 0 top 83px 这里 的目的是
  • 向后滑动 - InteractivePopGestureRecognizer 不起作用

    我有像这张照片这样的屏幕 HomeViewController 将推送到 maintabbar 并且选项卡栏项目将推送到detailScreen 为什么向后滑动不起作用 我认为这是IOS默认的 请帮我 p s 如果我在 cocoapods
  • 奇怪的 bash 脚本行为 - 生成的命令在复制粘贴时有效,但在脚本中无效

    出于安全原因 我编写了一个简短的 bash 脚本来包装 ansible playbook 命令 这并不复杂 而且大部分脚本在这里都是无关紧要的 最后 我将脚本参数生成的变量中的 ansible 命令放在一起 如下所示 ansible pla
  • Spring:文件上传RESTFUL Web服务

    我正在使用 Spring 4 0 为 RESTFUL Web 服务创建 POC 如果我们只传递字符串或任何其他基本数据类型 它就可以正常工作 RequestMapping value upload file method RequestMa
  • 适用于 MYSQL 的 Logstash Jdbc 输入插件

    我在 Windows 中使用 Logstash 我无法安装输入 jdbc 插件 因此我手动下载了 zip 文件 并将插件中的logstash 文件夹放入我的logstash 1 5 2 文件夹中 文件夹结构 D elastic search
  • Matplotlibight_layout——删除多余的白色/空白区域

    我想尽量减少人物周围的空白 但不确定如何 a 为我的图像周围的 savefig 命令精确指定一个边界框 并且 b 为什么紧密布局命令在我的工作示例中不起作用 In my current example I set up an axis en
  • 使 ASP.NET MVC 应用程序为 Web Farm 做好准备

    使 ASP NET MVC 应用程序 Web 场做好准备的最有效方法是什么 最重要的是共享当前用户的信息 上下文 和 不太重要 缓存的对象 例如查找项目 州 街道类型 县等 我听说过 读过 MemCache 但还没有看到关于如何实现和测试它
  • PHP 将整数转换为 hh:mm:ss

    我有一个 hh mm ss 格式的字符串 我将其转换为表示总秒数的整数 例如 01 43 03 01 3600 43 60 03 1 上面的示例生成整数值 6183 使用该值执行一些逻辑后 我需要将整数转换回严格的 hh mm ss 格式
  • ActiveAdmin:按子对象计数过滤

    在严重依赖 ActiveAdmin 的 Ruby on Rails 应用程序中 我有一个赞助商模型 它与赞助商模型关联 一sponsor可以资助很多孩子 所以一个sponsor可以有很多sponsorships 我想做的是能够在赞助商索引页
  • 无法使用 RVM、Ruby 1.9.2 和 Rails 3 运行 RubyMine 调试器

    我已经设置了全新的 Ubuntu 安装并遵循本指南 http ryanbigg com 2010 12 ubuntu ruby rvm rails and you安装 RVM Ruby 1 9 2 和 Rails 3 然后我安装了RubyM
  • ADAL.js 和 MSAL.js 有什么区别?

    我正在尝试处理使用 Microsoft Graph 的应用程序的身份验证 这两个库有什么区别 JavaScript 的 Active Directory 身份验证库 ADAL js https github com AzureAD azur
  • java中如何读取xep文件数据

    有没有办法在 pdf 完全渲染之前获取总页数并输入我们提供 xml 文件 xslt 是页面布局的样式表 我们使用 RenderX 从 xslt 进行 pdf 转换 将其转换为 xsl fo 文件 从 xsl fo 转换为 xep 文件 从
  • Foreman/Puma 未使用开发环境中指定的端口

    我在 application yml 中将端口设置为 3000 figaro 管理环境变量 rails s使用端口 3000 但当我跑步时foreman start 根据 Heroku 的推荐 我得到以下输出 14 53 23 web 1
  • 错误:找不到函数“geom_sf”

    我目前在 Windows 上运行 R 版本 3 4 2 并拥有 ggplot2 通过 tidyverse 和 sf 包版本 3 4 2 我正在尝试使用 ggplot2 sf 套件来绘制空间数据 尝试运行 geom sf 时 我收到错误 co
  • 为什么我的解密方法抛出“要解密的数据长度无效”加密异常

    这是一个非常常见的异常 但显然我找到的解决方案都没有解决我的问题 我有一个加密和一个解密方法 我加密一个字符串并将其写入文件 然后从文件中读取该字符串并解密 理论上 事实上 我得到了一个 加密异常 要解密的数据长度无效 在该过程的解密方面
  • 为什么在 Rust 中无法在不引用其中之一的情况下连接两个字符串?

    这有效 let hello Hello to string let world world let hello world hello world 但这并没有 let hello Hello to string let world worl
  • 如何在windows上安装mongoDB?

    我正在尝试测试 mongoDB 看看它是否适合我 我下载了 32 位 Windows 版本 但不知道如何继续 我通常使用 WAMP 服务在本地计算机上进行开发 我可以在 Wamp 上运行 mongoDB 吗 但是 使它在 Windows 上
  • T-SQL 去除所有非字母和非数字字符

    有没有一种更聪明的方法来删除所有特殊字符 而不是使用一系列大约 15 个嵌套替换语句 以下代码有效 但仅处理三个字符 与号 空格和句点 select CustomerID CustomerName Replace Replace Repla