SQL-查找所有大写字符串[重复]

2023-12-19

有没有办法可以从表中获取列中的所有大写字符串。 就像创建一个函数一样?

是否可以执行区分大小写的查询?特别是,我想找到某一列中所有大写的字符串。这是我尝试过的:

select *
from MyTable
where 
column1 = upper(column1) collate SQL_Latin1_General_CP1_CS_AS

你第一次就成功了。

SELECT * FROM MyTable WHERE Column1 = UPPER(Column1) COLLATE SQL_Latin1_General_CP1_CS_AS

上面是最简单的,而且似乎是最快的。通过将其放入函数中会减慢速度,并且现在存在内置函数。出于解释原因,其他答案值得一提。

编辑: 第 2 部分 - 最初的提问者进一步询问“如何搜索数据库中的所有表和列?”。这里有一个快速查找的方法。如果您想返回全部大写的所有字段,只需从下面的过程中删除“TOP 1”,但要小心。如果您有大量记录,您可能会耗尽内存。

CREATE PROCEDURE SP_SearchAllTablesForAFieldWithAllCapitals
AS
BEGIN
    CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

    SET NOCOUNT ON

    DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128)
    SET  @TableName = ''

    WHILE @TableName IS NOT NULL
    BEGIN
        SET @ColumnName = ''
        SET @TableName = 
        (
            SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
            FROM    INFORMATION_SCHEMA.TABLES
            WHERE       TABLE_TYPE = 'BASE TABLE'
                AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
                AND OBJECTPROPERTY(
                        OBJECT_ID(
                            QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
                             ), 'IsMSShipped'
                               ) = 0
        )

        WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
        BEGIN
            SET @ColumnName =
            (
                SELECT MIN(QUOTENAME(COLUMN_NAME))
                FROM    INFORMATION_SCHEMA.COLUMNS
                WHERE       TABLE_SCHEMA    = PARSENAME(@TableName, 2)
                    AND TABLE_NAME  = PARSENAME(@TableName, 1)
                    AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
                    AND QUOTENAME(COLUMN_NAME) > @ColumnName
            )

            IF @ColumnName IS NOT NULL
            BEGIN
                INSERT INTO #Results
                EXEC
                (
                    'SELECT TOP 1''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) 
                    FROM ' + @TableName + ' (NOLOCK) ' +
                    ' WHERE ' + @ColumnName + ' = UPPER(' + @ColumnName + ') COLLATE Latin1_General_CS_AS'
                )
            END
        END 
    END

    SELECT ColumnName, ColumnValue FROM #Results
END
GO
EXEC SP_SearchAllTablesForAFieldWithAllCapitals

仅供参考:我使用此处的查询作为起点。如何使用 T-SQL 在数据库中的所有文本字段中搜索某些子字符串 https://stackoverflow.com/questions/12824577/how-to-search-all-text-fields-in-a-db-for-some-substring-with-t-sql

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

SQL-查找所有大写字符串[重复] 的相关文章

  • 如何只获取 getdate() 的日期部分? [复制]

    这个问题在这里已经有答案了 我有一个包含 CreationDate 字段的 SQL 表 I have getdate 在计算列规格公式中 我想知道如何获取日期部分 即 2012 08 24 而不是 2012 08 24 10 45 17 7
  • 如何停止“已将数据库上下文更改为...”消息

    有什么办法可以阻止Changed database context to 当 SQL 片段有一个时的消息USE database in it 您需要设置错误级别 http msdn microsoft com en us library m
  • 从 docker 中的脚本创建 SQL Server 数据库

    我希望这是一个简单的问题 我在任何地方都找不到任何东西 如何在Microsoft SQL Server Docker容器 Dockerfile 我正在看以下内容Dockerfile FROM microsoft mssql server w
  • FROM 子句中子查询末尾随机字母的含义 - SQL

    我终于成功将两个sql sum查询的结果求和了 这家伙迈出了一小步 我的问题与代码中的最后一个字符 Z 有关 SELECT SUM hr FROM SELECT SUM amount AS hr FROM Try again dbo tue
  • INSERT INTO ... SELECT ... 是否始终按序号位置匹配字段?

    我的测试似乎证实了这一点 INSERT INTO a x y SELECT y x FROM b maps b y to a x 即字段仅按顺序位置匹配 而不按名称匹配 情况总是如此吗 即 我可以依赖这种行为吗 很遗憾 文档 http ms
  • 如何为不存在的值创建一行并用 0 值填充计数?

    在 SQL Server 中 我对数据上的用户年龄组运行查询 其中 在某些年里 每个年龄组的用户数为零 例如 2013 年有 18 21 年龄组的用户 因此查询返回下一个年龄组 22 25 作为第一行 因为没有包含 18 21 的条目 相反
  • T-SQL - 字符串连接

    希望有人可以提供帮助 我是一个新手 SQL 黑客 而且确实很糟糕 我在 SQL Server 2005 上有两个表 TABLE 1 和 TABLE2 TABLE1 COL1 COL2 1 10 2 20 3 30 4 10 4 20 5 2
  • 为表多次指定了 xxx 列

    我正在尝试将 db2 简单查询调整为 SQL SERVER 该查询在 db2 上运行良好 select from pb console users u join select from pb console users user role
  • 如何跳过 SSIS 数据流中的最后一行

    我在用FlatFile Source Manager gt Script COmponent as Trans gt OLEDB destination在我的数据流中 源从平面文件读取所有行 我想跳过更新数据库的最后一行 预告片记录 由于它
  • 没有特定表的MSSQL数据库备份

    我需要在 sql 中没有特定表的情况下进行计划备份 因为如果我对该表进行备份 将需要很长时间 我需要从备份中排除一张表 是否可以 如果没有该表 所有表和数据都应该位于数据库中 除了 PRIMARY 文件组之外 您还可以为该表设置一个单独的文
  • DBCC命令是存储过程还是函数?

    应该是什么DBCC命令被调用 DBCC 过程还是 DBCC 函数 这很令人困惑 因为DBCC PAGE可以在不加前缀的情况下执行EXEC语句很像存储过程 但EXEC DBCC PAGE 1 1 1 3 抛出错误 语法错误 消息 156 关键
  • 如何从时区名称获取时区偏移量

    我有一个时区名称 例如America Vancouver保存在 SQL Server 数据库中 我想从 SQL 中的时区名称获取 UTC 偏移量 例如America Vancouver has 08 00抵消 那么如何用 SQL 编写查询呢
  • django pyodbc 数据源名称未找到

    当尝试连接到我的数据库服务器和 Django 中的数据库时 我收到错误 django db utils InterfaceError IM002 IM002 Microsoft ODBC Driver Manager 未找到数据源名称且未指
  • 智能感知不工作 SSMS 2014

    我知道有很多关于这个问题的帖子 但是我无法找到解决我的问题的方法 跑步 SMS 2014 with CU1 SSMS 和客户端工具上的版本 10 0 2342 0 Visual Studio 2010 SP1 10 0 40219 1 SP
  • SQL 性能,使用 OPTION (FAST n)

    谁能告诉我在 SQL 查询中使用 OPTION FAST n 有什么缺点 比如我这么快就抓取了10万条记录 但这对SQL Server的其他进程有影响吗 我正在接近我的问题 我必须每周运行一次数据处理 因此 第一个结果会在 5 7 秒后出现
  • 如何在 SQL 中选择“上一条”和“下一条”记录?

    I am building a blog post detail page on my site that will display display a previous and next link similar to how a typ
  • T-SQL 中结果集的幂集(所有组合)

    我需要一个 t sql 代码来获取结果集的幂集 输入示例 ColumnName 1 2 3 Example Output one columns as nvarchar 1 2 3 1 2 1 3 2 3 1 2 3 输出集可能包含重复值
  • 查询链接服务器时登录失败

    我正在尝试在 SQL Server 中创建链接服务器 Create the link to server uranium EXEC master dbo sp addlinkedserver server N uranium srvprod
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a

随机推荐

  • 如何将参数(名称)传递给函数工厂?

    我需要构建许多带有许多不同参数的函数 尽管它们共享许多代码和结构 为了避免重复 我想我应该聪明地为自己构建一个函数工厂 又名闭包 我不知道如何在函数工厂内传递函数参数 我的用例是一堆 S3 构造函数 所有这些函数都共享相同的验证机制 所以我
  • 如何将测试用例从 Excel 导入到 VSTS/Azure DevOps

    我有很多测试用例当前位于 Excel 中 我需要将它们迁移到 VSTS Azure DevOps 有人可以推荐我一个好方法吗 这是一种手动方式 但也许对您有用 在 IE 或 Edge 上 您可以在测试计划中尝试网格视图 然后复制 粘贴测试用
  • Java LibGDX 如何解析 JSON?

    我有一个 json 文件 内容如下 players name hp 100 name hp 120 weapons name Desert Eagle price 100 name AK 47 price 150 如何将其解析为武器数组 我
  • 获取和转换与条件格式

    我正在尝试使用conditional formatting的输出Get Transform询问 Office 365 Excel 2016 32 位 Windows 10 专业版 64 位 但是 当刷新查询时 条件格式不仅仅是扩展 收缩以影
  • 如何将 pandas DataFrame 表保存为 png

    我构建了一个结果的 pandas 数据框 该数据框充当表格 有 MultiIndexed 列 每行代表一个名称 即index name1 name2 创建 DataFrame 时 我想显示这个表格并将其保存为 png 或任何图形格式 目前
  • Angular ui grid双击事件设置

    所以我试图让我的 Angular UI 网格在整行上注册双击事件以打开模式 我可以从烤面包开始 然后从那里开始 这是我根据在线各种演示和示例得出的最接近的结果 但我似乎无法让它发挥作用 控制器 scope gridHandlers onDb
  • 为什么我不能在 Java 中声明同一个变量两次?

    这里有类似的问题 但他们并没有真正回答我的问题 所以我很好奇为什么我们不能在Java中声明同一个变量两次 例如 int a 4 int a 6 这在 Java 中实际上行不通 然而在 javascript 中 这实际上是有效的 var a
  • Angular 1 材料设计在 Firefox 中关闭对话框后滚动到顶部

    您好 当我在 Firefox 中使用 Angular 材质打开对话框窗口时 对话框关闭后页面滚动到顶部 任何人都可以解释为什么会发生这种情况或有解决方法 See https codepen io WitteStier full EmzKQb
  • 在 pyo 和 python 中播放声音

    我正在尝试pyo https github com belangeo pyo对于蟒蛇 我使用主页中的以下命令安装了 ubuntu 的 pyo sudo apt get install libjack jackd2 dev libportmi
  • 如何在caffe中将多个N维数组输入到网络中?

    我想在 caffe 中创建一个用于语义分割的自定义损失层 需要多个输入 我希望这个损失函数有一个额外的输入因子 以惩罚小物体的漏检 为此 我创建了一个图像 GT 其中每个像素都包含一个权重 如果像素属于小物体 则权重较高 我是 caffe
  • 使用 phpmyadmin 导入 CSV utf8

    我正在尝试导入包含韩语字符的数据集 并使用 CSV LOAD DATA 保存为 unicode 编码 即使当我将输入字符集设置为 utf8 时 韩语也会被损坏 该列的编码当然是 utf8 示例记录 制表符分隔 79 read NULL MY
  • 通过 Web 代理获取 Azure 访问令牌

    我们正在使用Microsoft IdentityModel Clients ActiveDirectory用于从 Azure AD 获取访问令牌的 API 我们要求 API 调用必须通过 Web 代理 我们找不到任何相关的示例代码 有没有什
  • getSupportActionBar().setCustomView(view) 未填充整个操作栏

    我正在尝试设置我的应用程序的自定义视图 但我所做的布局没有填充整个操作栏 我尝试了很多样式设置 但没有一个对我有用 这是我在活动中的代码 View view getLayoutInflater inflate R layout action
  • 为什么 MongoDB 节点驱动程序会生成实例池损坏错误?

    当我运行以下代码时 我收到错误消息 MongoError 服务器实例池被破坏 知道为什么或如何解决这个问题吗 var csv require importer js var MongoClient require mongodb Mongo
  • 不会使迭代器(和指针)失效的容器

    我目前正在寻找提供一些插入 insert 或push back 和一些删除 erase pop back 不够 方法的容器 并且在调用这两个方法时不会使迭代器或指针无效 更清楚地说 我想要一组元素 我可以在其中添加元素 我不关心在哪里 以及
  • Facebook 页面选项卡 iframe 应用程序无法正常工作

    因此 我遵循了所有其他问题中的说明 我这样做了 现在 当我单击页面选项卡链接 从管理员登录或非管理员登录 时 我只是得到一个空白页面 它按预期访问 facebook com mypage app my id 但什么也不做 所有链接 http
  • python mallet LDA FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\\ Users \\ abc \\ AppData \\ Local \\ Temp \\ d33563_state.mallet.gz

    这是我第一次使用mallet LDA 基本上 我下载了 mallet 2 0 8 zip 文件和 JDK 我安装了 JDK 将 mallet 2 0 8 提取到目标文件夹 我设置了 MALLET HOME 这是我的代码 mallet pat
  • 无法访问 .NET Core 中 Async 方法中 DbContext 的已处置对象

    我的一个微服务 Web api 遇到了一个奇怪的问题 我的异步 GET 方法抛出一个无法访问已处置的对象我的 DbContext 发生异常 除了第一次调用它们时 我尝试在网上寻找答案 但没有任何效果 我确保我的方法不是 async void
  • 在选择 UISearchDisplayController 后保持 UINavigationController 的导航栏隐藏

    我有一个UISearchDisplayController设置与UITableViewController它嵌套在一个UINavigationController 当选择一个单元格时 UITableView s didSelectRowAt
  • SQL-查找所有大写字符串[重复]

    这个问题在这里已经有答案了 有没有办法可以从表中获取列中的所有大写字符串 就像创建一个函数一样 是否可以执行区分大小写的查询 特别是 我想找到某一列中所有大写的字符串 这是我尝试过的 select from MyTable where co