MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

文字列が特定の長さより短い場合はMySQLでサブ文字列を表示し、それより長い場合はカスタムメッセージを表示しますか?


このために、MySQLでsubstring()関数を使用できます。条件については、MySQLCASEステートメントを使用してください。まず、-

を作成しましょう
mysql> create table DemoTable1402
   -> (
   -> EmployeeName varchar(40)
   -> );
Query OK, 0 rows affected (0.62 sec)

insert-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1402 values('Adam Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1402 values('Chris Brown');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1402 values('David Miller');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1402 values('Carol Taylor');
Query OK, 1 row affected (0.10 sec)

select-

を使用してテーブルのすべてのレコードを表示します
mysql> select * from DemoTable1402;

これにより、次の出力が生成されます-

+--------------+
| EmployeeName |
+--------------+
| Adam Smith   |
| Chris Brown  |
| David Miller |
| Carol Taylor |
+--------------+
4 rows in set (0.00 sec)

これは、文字列が特定の長さより短い場合はMySQLでサブ文字列を表示し、それより長い場合はカスタムメッセージを表示するクエリです-

mysql> select *, case when char_length(EmployeeName) <=11 then substring(EmployeeName,1,5)
   -> else 'EmployeeName is greater than 11'
   -> end as Result
   -> from DemoTable1402;

これにより、次の出力が生成されます-

+--------------+---------------------------------+
| EmployeeName | Result                          |
+--------------+---------------------------------+
| Adam Smith   | Adam                            |
| Chris Brown  | Chris                           |
| David Miller | EmployeeName is greater than 11 |
| Carol Taylor | EmployeeName is greater than 11 |
+--------------+---------------------------------+
4 rows in set (0.04 sec)

  1. Pythonで、文字の頻度が文字列の長さの半分を超えていないかどうかを確認します

    小文字、大文字、数字、および特殊文字を含む文字列sがあるとします。いずれかの文字の頻度が文字列の長さの半分を超えているかどうかを確認する必要があります。 9/2)であるため、出力はTrueになります。 これを解決するには、次の手順に従います- freq:=sの文字の頻度を含むマップ freqの各chについて、 (s / 2のサイズ)の場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を見てみましょう- サンプルコード from collections import defaultdict     def solve(s): &nbs

  2. Pythonで指定された文字列に複数回出現するk長の部分文字列をカウントするプログラム

    文字列sと数kがあるとすると、sで複数回発生するsのk長のサブ文字列の数を見つける必要があります。 したがって、入力がs =xxxyyy、k =2の場合、出力は2になります。 これを解決するには、次の手順に従います- 見た:=新しいリスト 範囲0からs-kのサイズのiの場合、do t:=sの部分文字列[インデックスiからi+k-1まで] 表示の最後にtを挿入 mp:=見られたすべての異なる要素とそれらの出現のマップ 発生が1より大きいmpの各要素のすべての発生の合計を返します 理解を深めるために、次の実装を見てみましょう- 例 class Solution: