SQL查询使列中的所有数据都大写?

发布于 2024-07-20 05:45:43 字数 50 浏览 1 评论 0原文

我需要一个 SQL 查询来使列中的所有数据都大写?

有任何想法吗?

I need a SQL query to make all data in a column UPPER CASE?

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

囍孤女 2024-07-27 05:45:43

永久性

UPDATE
  MyTable
SET
  MyColumn = UPPER(MyColumn)

临时:

SELECT
  UPPER(MyColumn) AS MyColumn
FROM
  MyTable

Permanent:

UPDATE
  MyTable
SET
  MyColumn = UPPER(MyColumn)

Temporary:

SELECT
  UPPER(MyColumn) AS MyColumn
FROM
  MyTable
懒的傷心 2024-07-27 05:45:43

如果您只想更新当前不是大写的行(而不是所有行),则需要使用 COLLATE 像这样:

UPDATE MyTable
SET    MyColumn = UPPER(MyColumn)
WHERE  MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS 

关于排序规则的一点

大小写敏感度基于您的排序规则设置,并且默认情况下通常不区分大小写。

可以在服务器、数据库、列处设置排序规则或查询级别:

-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column 
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL

排序规则名称指定字符串应如何编码和读取,例如:

  • Latin1_General_CI_AS → 不区分大小写
  • Latin1_General_CS_AS → 区分大小写

If you want to only update on rows that are not currently uppercase (instead of all rows), you'd need to identify the difference using COLLATE like this:

UPDATE MyTable
SET    MyColumn = UPPER(MyColumn)
WHERE  MyColumn != UPPER(MyColumn) COLLATE Latin1_General_CS_AS 

A Bit About Collation

Cases sensitivity is based on your collation settings, and is typically case insensitive by default.

Collation can be set at the Server, Database, Column, or Query Level:

-- Server
SELECT SERVERPROPERTY('COLLATION')
-- Database
SELECT name, collation_name FROM sys.databases
-- Column 
SELECT COLUMN_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE CHARACTER_SET_NAME IS NOT NULL

Collation Names specify how a string should be encoded and read, for example:

  • Latin1_General_CI_AS → Case Insensitive
  • Latin1_General_CS_AS → Case Sensitive
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文