我想将表中列的值更新为标题大小写

2024-02-22

我在数据库中有一个表,其中存在列名称,我想将该名称字段中的值更新为标题大小写。

例子 :"abc asd" to "Abc Asd"

考虑到表中有数百万条记录,我想知道使用 SQL 执行此操作的最佳方法是什么。


数据卫生是一场持久战。正确的案例从来都不像人们想象的那么简单。使用野外数据时存在许多变化和不一致。

这是一个可以根据需要扩展的功能。

全面披露:还有许多其他性能更高的函数,但它们的方法往往过于简单。

Example

Declare @YourTable table (SomeCol varchar(100))
Insert Into @YourTable values
('old mcdonald'),
('dr. Langdon ,dds'),
('b&o railroad'),
('john-m-smith'),
('CARSON/jACOBS'),
('jAmes o''neil')

 Select *
       ,ProperCase = [dbo].[svf-Str-Proper](SomeCol)
 From @YourTable

Returns

SomeCol             ProperCase
old mcdonald        Old McDonald
dr. Langdon ,dds    Dr. Langdon ,DDS
b&o railroad        B&O Railroad
john-m-smith        John-M-Smith
CARSON/jACOBS       Carson/Jacobs
jAmes o'neil        James O'Neil

如果有兴趣的话UDF

CREATE FUNCTION [dbo].[svf-Str-Proper] (@S varchar(max))
Returns varchar(max)
As
Begin
    Set @S = ' '+Replace(Replace(Lower(@S),'   ',' '),'  ',' ')+' '
    ;with cte1 as (Select * From (Values(' '),('-'),('/'),('\'),('['),('{'),('('),('.'),(','),('&'),(' Mc'),(' O''')) A(P))
         ,cte2 as (Select * From (Values('A'),('B'),('C'),('D'),('E'),('F'),('G'),('H'),('I'),('J'),('K'),('L'),('M')
                                       ,('N'),('O'),('P'),('Q'),('R'),('S'),('T'),('U'),('V'),('W'),('X'),('Y'),('Z')
                                       ,('LLC'),('PhD'),('MD'),('DDS')
                                 ) A(S))
         ,cte3 as (Select F = Lower(A.P+B.S),T = A.P+B.S From cte1 A Cross Join cte2 B ) 
    Select @S = replace(@S,F,T) From cte3
    Return rtrim(ltrim(@S))
End
-- Syntax :  Select [dbo].[svf-Str-Proper]('old mcdonald phd,dds llc b&o railroad')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想将表中列的值更新为标题大小写 的相关文章

  • 法语和西班牙语的特殊字符可以保存在 varchar 中吗?

    法语和西班牙语中有普通英语中不使用的特殊字符 重音元音等 varchar 是否支持这些字符 或者我需要一个 nvarchar 吗 注 我愿意NOT希望讨论我是否应该使用 nvarchar 还是 varchar 您在谈论什么 SQL 实现 我
  • 使用 AT TIME ZONE 获取指定时区的当前时间

    我正在尝试使用新的在 SQL Server 2016 和 Azure SQL 中 我只是想获取伦敦的当前时间datetime 针对夏令时进行调整 运行以下所有命令时 伦敦时间为凌晨 3 27 点 第一步是获得一个datetimeoffset
  • 如何在oracle中获取表作为输出参数

    我正在尝试将 Oracle 过程调用的 out 参数强制转换为对象 它不起作用 因为 据我了解 我需要定义一个映射 它告诉方法如何转换它 如果地图为空或未正确填充 则它默认为 STRUCT 类型的对象 在我的情况下这是错误的 我已经构建了一
  • SQL 查询结果为字符串(或变量)

    是否可以将SQL查询结果输出到一个字符串或变量中 我的php和mysql不好 假设我有数据库 agents 其中包含列 agent id agent fname agent lname agent dept 使用此查询 sql SELECT
  • 尚未为此带有 SQL Server 的 DbContext .NET Core 配置数据库提供程序

    我一直用这个把头撞在墙上 并且一直在谷歌上搜索无济于事 我刚刚开始一个新的 ASP NET Core MVC 项目 我已将这两个包安装 更新为 2 2 0 Microsoft EntityFrameworkCore SqlServer Mi
  • If Else 条件的 SQLite 语法

    我正在使用 SQLite 数据库 我的表有一个名为 密码 的文本列 早些时候 为了检索我用来执行简单操作的值select from myTable询问 但现在的要求是 如果Password值不是NULL那么我需要将其显示为 是 或 否 它是
  • 如何将此本机 SQL 查询转换为 HQL

    所以我有这个很长的复杂的 Native SQLQuery string hql SELECT FROM SELECT a rownum r FROM select f2 filmid f2 realisateurid f2 titre f2
  • 选择两列中两个日期之间的记录

    如何选择两列中两个日期之间的记录 Select From MyTable Where 2009 09 25 is between ColumnDateFrom to ColumnDateTo 我有一个日期 2009 09 25 我喜欢选择
  • SQL Server 标识列值从 0 而不是 1 开始

    我遇到了一个奇怪的情况 数据库中的某些表的 ID 从 0 开始 即使 TABLE CREATE 的 IDENTITY 1 1 也是如此 对于某些表来说是这样 但对于其他表则不然 它一直有效到今天 我尝试过重置身份列 DBCC CHECKID
  • “$$ 处或附近的未终止的美元引号字符串

    我试图使用 DBeaver 声明一些变量并不断遇到此错误 Unterminated dollar quoted string at or near DO DECLARE A integer B integer BEGIN END 有任何想法
  • 从 SQL Server 2012 查询结果中减去小时数

    我正在 SQL Server 2012 Management Studio 中的警报系统信号自动化平台数据库上运行查询 但遇到了一些问题 我的查询运行得很好 但我无法将结果细化到我想要的水平 我正在选择一些格式为的列DATETIME 我只想
  • 如何更新 SQL Server 2000 中的 text 或 ntext 字段

    所以我需要更新一个文本字段 在下面使用时 UPDATE 语句或 WRITETEXT 语句都不起作用 CREATE TABLE MyTable IDField int MyField text INSERT INTO MyTable IDFi
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • sql 查询的权限被拒绝

    我正在尝试通过经典的 asp 记录集执行以下查询 SQL Select P Name as P Name P Description as P Description from L PagePermission inner join A P
  • 数据结构的优化存储以实现快速查找和持久化

    Scenario 我有以下方法 public void AddItemSecurity int itemId int userIds public int GetValidItemIds int userId 最初我正在考虑表单上的存储 i
  • SQL Server:删除除系统数据库之外的所有数据库

    在 PowerShell 中 我使用以下代码删除所有非系统 SQL Server 数据库 invoke sqlcmd ServerInstance sqlInstanceName U sqlUser P sqlPass Query EXEC
  • .NET:SqlDataReader.Close 或 .Dispose 导致超时过期异常

    当尝试在 SqlDataReader 上调用 Close 或 Dispose 时 我收到超时过期异常 如果您有到 SQL Server 的 DbConnection 您可以使用以下命令自行重现它 String CRLF r n String
  • 如何防止 SQL Server 在导入数据时去除前导零

    A data file被导入到SQL Server桌子 数据文件中的一列是文本数据类型 该列中的值只能是整数 SQL Server 数据库中目标表中的相应列的类型为varchar 100 但在数据导入后 SQL Server 会存储以下值
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • 打开脚本任务时 SSIS 丢失文件引用

    我们使用自定义审核程序集 C 在脚本任务中记录 SSIS 中的多种操作 我们将在 GAC 中构建自定义程序集 用于运行时 并发布到 IDE VS2008 的公共程序集区域以供设计时文件引用 后构建完成后 自定义程序集可在运行时使用 并可在文

随机推荐

  • 如何根据某些正则表达式模式提取字符串的“部分”?

    在 JavaScript 中 给定一个正则表达式模式和一个字符串 var pattern this 0 9a zA Z that 0 9a zA Z var str this 12 that 34 如何返回包含以下内容的数组 12 34 以
  • 如何将 .scss 文件作为全局导入到 app.js 父文件中?

    我正在启动一个 Angular 项目 并按照以下步骤导入 scss 文件 https github com AngularClass angular starter wiki How to include SCSS in component
  • 为什么使用 ARC + NSZombieEnabled 时对象未释放

    我将我的应用程序转换为 ARC 并注意到当视图控制器被释放时 在我的视图控制器之一中分配的对象没有被释放 我花了一段时间才弄清楚原因 我在调试时为我的项目启用了 启用僵尸对象 结果证明这就是原因 考虑以下应用程序逻辑 1 用户调用actio
  • 在 3D 空间中旋转图像的一部分

    设置如下 这是一个电子商务艺术网站 其中一些绘画是画布转移 这幅画环绕画布的侧面 顶部和底部 我们拥有整幅画的高分辨率图像 但我们想要显示的是图像的准 3D 表示 您可以在其中看到画作的侧面如何环绕画布 这是我正在谈论的内容的粗略草图 我的
  • 尝试在 openSUSE 上安装 pip 时出错

    我正在尝试部署pip在我的生产服务器上 但有一个不合逻辑的错误 它尝试安装已安装的组件但没有成功 gt sudo zypper in python pip Loading repository data Reading installed
  • iText:使用 LocationTextExtractionStrategy 从 pdf 文件中提取的文本顺序错误

    我正在使用 iText 从特定位置的 pdf 文件中提取一些文本 为此 我使用 LocationTextExtractionStrategy public static void main String args throws Except
  • 实施“more”Unix实用程序命令

    我正在努力实施more命令 我想知道如果有管道我该如何理解 例如 如果我从 shell 中输入 cat file1 file2 more 我怎样才能在 more 的实现中处理这个问题 并且是实施more可以开源吗 实际上 我无法成功读取 s
  • 使用 Selenium Webdriver 测试某个元素是否获得焦点

    我真的很惊讶我在互联网上找不到使用 Selenium Webdriver 测试元素焦点的参考资料 我想检查当尝试提交表单但缺少必填字段时 焦点何时移至空字段 但我看不到任何使用 WebDriver API 执行此操作的方法 我将能够使用找到
  • 如何获取给定 ascii 值的字符

    如何获取给定 ascii 代码的 ascii 字符 例如我正在寻找一种方法 给定代码 65 将返回 A Thanks 您的意思是 A astring 或 A 一个char int unicode 65 char character char
  • 在 Python 中搜索对象列表

    假设我正在创建一个简单的类 其工作方式与 C 风格结构类似 仅保存数据元素 我试图弄清楚如何在对象列表中搜索属性等于特定值的对象 下面是一个简单的例子来说明我正在尝试做的事情 例如 class Data pass myList for i
  • Vue mousemove仅在mousedown之后

    如何仅在首先单击元素时触发鼠标移动 我正在尝试将其用于音频播放器时间线 player time bar mousedown setNewCurrentPosition event slider role slider aria valuem
  • 许可 .Net 网站 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道获得网站许可的首选方法是什么 我使用可编辑的 APSX 文件分发网站的预编译版本 后面的代码被编译到每个页面的单独 DLL 中
  • Shell 脚本从日志中获取过去一小时的异常

    我正在开发脚本 该脚本将 grep 最近一小时的日志并检查任何异常并向Solaris 平台发送电子邮件 我做了以下步骤 grep n h date Y m d H M test logs 上面的命令给了我行号 然后我执行以下操作 tail
  • 两个点云的稳健配准

    我需要找到两个 3D 点云之间的变换和旋转差异 为此 我正在寻找点云库 因为它看起来很理想 在干净的测试数据上 我有迭代最近点 ICP 工作 但得到奇怪的结果 尽管我可能错误地实现了它 我有pcl estimateRigidTransfor
  • 动态改变无点参数

    我想在数据库中存储 less 参数 一个示例用例可能是每个用户根据他或她的偏好更改颜色 我认为最好的方法是解析所有 less 文件以获取参数 然后用户可以设置参数 这些参数将保存在针对用户的数据库中 当请求 less 文件时 处理程序重载可
  • 这种加密方式“安全”吗?

    首先我必须说我从来没有学过密码学 我所知道的关于这个主题的一切都只是基本概念 我们正在寻找一种快速 简单的方法来使用密码加密一些数据 将存储到数据库中 我知道 最安全 的算法是 AES 但它对我们来说可能太复杂 而且我知道它需要我们获得美国
  • 使用 Google App Engine Standard 的私有 npm 注册表

    对于所有其他 stackoverflow 问题 人们似乎都在询问私有 npm git 存储库或不同的技术堆栈 我很确定我可以在 GAE Flex 中使用私有 npm 注册表 但我想知道标准版本是否可以 来自GAE 标准文档 https cl
  • EC2实例类型的确切网络性能?

    我在 Amazon 上找不到不同 EC2 实例类型的确切网络性能详细信息 相反 他们只是说 High Moderate Low 这究竟意味着什么 我特别想知道具体的数量Traffic OUT在每个实例类型上 我需要进行直播 我的流比特率为
  • 如何使用通过页面基页附加到页面的母版页?

    在我的 ASP Net Web 应用程序中 我有一个基页面 它实现了跨 Web 应用程序所有页面的功能 并且我的网页派生自该基页面 由于整个网站只有一个母版页 因此我不想在每个网页中附加母版页 因此 我通过基本页的 OnPreInit 方法
  • 我想将表中列的值更新为标题大小写

    我在数据库中有一个表 其中存在列名称 我想将该名称字段中的值更新为标题大小写 例子 abc asd to Abc Asd 考虑到表中有数百万条记录 我想知道使用 SQL 执行此操作的最佳方法是什么 数据卫生是一场持久战 正确的案例从来都不像