泛型SQL中的基本大小写字符串
我正在寻找一个跨SQL语言使用的非常基本的正确案例版本。这只会将第一个字母大写,其余字母小写(每个记录,而不是每个单词)。例如,如果记录的值为泛型SQL中的基本大小写字符串,sql,Sql,我正在寻找一个跨SQL语言使用的非常基本的正确案例版本。这只会将第一个字母大写,其余字母小写(每个记录,而不是每个单词)。例如,如果记录的值为x“天空是灰色的”,它将变成“天空是灰色的”。选择CONCAT(上(左(x,1))、下(右(x,长度(x)-1))选择CONCAT(上(左(x,1))、下(右(x,长度(x)-1)))您可以使用CONCAT连接字符串的一部分 CREATE TABLE tab(x VARCHAR(1000)); INSERT INTO tab VALUES ('the s
x
“天空是灰色的”,它将变成“天空是灰色的”。选择CONCAT(上(左(x,1))、下(右(x,长度(x)-1))
选择CONCAT(上(左(x,1))、下(右(x,长度(x)-1)))
您可以使用CONCAT
连接字符串的一部分
CREATE TABLE tab(x VARCHAR(1000));
INSERT INTO tab VALUES ('the sky is GRAY');
SELECT CONCAT(UPPER(LEFT(x, 1)), LOWER(RIGHT(x, LENGTH(x) - 1))) AS result
FROM tab;
为了获得更安全的解决方案,我还将修剪文本,因为:
INSERT INTO tab VALUES ( ' the sky is GRAY');
您将获得:
the sky is gray
带饰件:
SELECT CONCAT(UPPER(LEFT(TRIM(x), 1)),
LOWER(RIGHT(TRIM(x), LENGTH(TRIM(x)) - 1))) AS result
FROM tab;
警告:
我非常怀疑有一个查询可以“统统管理它们”。根据您的RDBMS,您可能需要使用:
而不是子字符串
左/右
而不是LTRIM(RTRIM)
TRIM
而不是LEN/DATALENGTH
LENGTH
而不是+/|
CONCAT
CONCAT
并连接字符串的一部分
CREATE TABLE tab(x VARCHAR(1000));
INSERT INTO tab VALUES ('the sky is GRAY');
SELECT CONCAT(UPPER(LEFT(x, 1)), LOWER(RIGHT(x, LENGTH(x) - 1))) AS result
FROM tab;
为了获得更安全的解决方案,我还将修剪文本,因为:
INSERT INTO tab VALUES ( ' the sky is GRAY');
您将获得:
the sky is gray
带饰件:
SELECT CONCAT(UPPER(LEFT(TRIM(x), 1)),
LOWER(RIGHT(TRIM(x), LENGTH(TRIM(x)) - 1))) AS result
FROM tab;
警告:
我非常怀疑有一个查询可以“统统管理它们”。根据您的RDBMS,您可能需要使用:
而不是子字符串
左/右
而不是LTRIM(RTRIM)
TRIM
而不是LEN/DATALENGTH
LENGTH
而不是+/|
CONCAT
- 纯标准SQL的答案是:
UPPER(SUBSTRING(x FROM 1 FOR 1)) || LOWER(SUBSTRING(x FROM 2))
纯标准SQL的答案是:
UPPER(SUBSTRING(x FROM 1 FOR 1)) || LOWER(SUBSTRING(x FROM 2))
在这里回答:@dfundako这只适用于SQL server,并大写每个单词的第一个字母。我在SQL引擎中寻找一些只对完整字符串的第一个字母大写的语句。你找不到一条语句可以在所有DBMS中实现这一点。回答如下:@dfundako,它只对SQL server有效,并对每个单词的第一个字母大写。我正在整个SQL引擎中寻找一些只对完整字符串的第一个字母大写的语句。您找不到一条语句可以在所有DBMS中实现这一点。可能您需要
SELECT CONCAT(上(左(x,1)),下(右(x,长度(x)-1))
在您当前的表单中,它可能不起作用SELECT CONCAT(上(左(x,1)),下(右(x,长度(x)-1)))
在您当前的表单中,它将不起作用