当前位置: 首页 > 面试题库 >

SQL-将每个单词的首字母大写

车子平
2023-03-14
问题内容

我知道这个线程到处都是,但是,情况稍有不同。在我公司使用的套件中,我对SQL的访问权限有限,并且无法运行带有函数等的复杂代码。我有一个SQL查询,该查询将多列数据编译为一列,并使用group
by子句淘汰了多重性。但是,由于存在差异,因此这导致所有结果以大写形式返回。我现在必须将其改回原来的样子,即每个单词的首字母大写。我需要一种非常简洁的方法。该套件使用VBScript和XML,但是此特定问题更为复杂,因为我无法在客户端上编辑结果,该套件只是要求显示列名(填充一个下拉菜单)。有什么建议?谢谢!

询问:

Select Insurance 
From
(Select Ins1 as Insurance
From InsAuth2
WHERE Ins1 IS NOT NULL
Union All
Select Ins2 as Insurance
From InsAuth2
WHERE Ins2 IS NOT NULL
Union All
Select Ins3 as Insurance
From InsAuth2
WHERE Ins3 IS NOT NULL
Union All
Select Ins4 as Insurance
From InsAuth2
WHERE Ins4 IS NOT NULL
Union All
Select Ins5 as Insurance
From InsAuth2
WHERE Ins5 IS NOT NULL) as table
Group By Insurance

问题答案:

您没有说这是针对SQL Server的,但是如果有的话,这里是一个解决方案。

这是一个工作示例。将表变量替换为@T您拥有的查询。

declare @T table(Insurance varchar(max))

insert into @T values
('BENGT MIKAEL ERIKSSON'),
('XMLCHARTEST<>&''"')

select (
       select upper(T.N.value('.', 'char(1)'))+
                lower(stuff(T.N.value('.', 'varchar(max)'), 1, 1, ''))+' '
       from X.InsXML.nodes('/N') as T(N)
       for xml path(''), type
       ).value('.', 'varchar(max)') as Insurance
from 
  (
  select cast('<N>'+replace(
                    replace(
                    replace(Insurance,
                    '&', '&amp;'),
                    '<', '&lt;'),
                    ' ','</N><N>')+'</N>' as xml) as InsXML
  from @T
  ) as X

结果:

Insurance
----------------------
Bengt Mikael Eriksson 
Xmlchartest<>&'"


 类似资料:
  • 将字符串中每个单词的首字母大写。 使用 ``String.replace()来匹配每个单词的第一个字符,并使用String.toUpperCase()` 来将其大写。 const capitalizeEveryWord = str => str.replace(/\b[a-z]/g, char => char.toUpperCase()); capitalizeEveryWord('hello

  • 问题内容: 好的,我试图弄清楚如何在python中制作这样的输入短语。 输出这个… 这将是每个单词的首字母。这和索引有关吗?也许是.upper函数? 问题答案: 这是完成它的最快方法

  • 问题 你想把字符串中每个单词的首字母转换为大写形式。 解决方案 使用“拆分-映射-拼接”模式:先把字符串拆分成单词,然后通过映射来大写单词第一个字母小写其他字母,最后再将转换后的单词拼接成字符串。 ("foo bar baz".split(' ').map (word) -> word[0].toUpperCase() + word[1..-1].toLowerCase()).join ' ' #

  • 问题内容: 我有一个现有的表’people_table’,其中包含一个field 。 许多记录的“ full_name”字段填充了不正确的大小写。如或或。 我可以通过以下方式找到这些错误的条目: 如何找到的每个单词的首字母大写?例如成为。 问题答案: 没有MySQL函数可以执行此操作,您必须编写自己的函数。在以下链接中,有一个实现: http://joezack.com/index.php/200

  • 问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。

  • 问题内容: 当这个城市只有一个字时,我的JS会很高兴: 芝加哥==>芝加哥 但是当它 圣地亚哥==>圣地亚哥 我如何使其成为圣地亚哥? 问题答案: 或在ES6中: