通用SQL中的基本正确案例字符串

时间:2015-10-25 20:29:12

标签: sql

我正在寻找可在SQL语言中使用的正确案例的基本版本。这只会大写第一个字母,小写其余部分(每个记录,而不是每个单词)。例如,如果记录的值为Inorder: 3 2 1 5 4 6 8 9 7 11 10 Postorder: 1 2 3 4 5 6 9 11 10 7 8 "天空为灰色"则会变为"天空为灰色"。

3 个答案:

答案 0 :(得分:1)

x

答案 1 :(得分: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;

SqlFiddleDemo

为了更安全的解决方案,我还会修剪文字,因为:

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;

SqlFiddleDemo2

警告:

我非常怀疑是否有一个问题要对所有人进行统治。"根据您的RDBMS,您可能需要使用:

  • SUBSTRING代替LEFT/RIGHT
  • LTRIM(RTRIM)代替TRIM
  • LEN/DATALENGTH代替LENGTH
  • +/||代替CONCAT

答案 2 :(得分:1)

纯标准SQL中的答案是:

UPPER(SUBSTRING(x FROM 1 FOR 1)) || LOWER(SUBSTRING(x FROM 2))