MySQLにsubstr_replaceのようなものはありますか?
これには、MySQLのINSERT()関数を使用します。 INSERT(str、pos、len、newstr)は、文字列strを返します。部分文字列は、位置posで始まり、len文字は文字列newstrに長く置き換えられます。 posが文字列の長さの範囲内にない場合は、元の文字列を返します。
lenが文字列の残りの部分の長さの範囲内にない場合は、位置posから文字列の残りの部分を置き換えます。引数がNULLの場合はNULLを返します。
まずテーブルを作成しましょう-
mysql> create table DemoTable ( Password varchar(50) ); Query OK, 0 rows affected (0.51 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('76367_____8793443'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values('12345_____9899984322'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('99999_____4747747432'); Query OK, 1 row affected (0.22 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----------------------+ | Password | +----------------------+ | 76367_____8793443 | | 12345_____9899984322 | | 99999_____4747747432 | +----------------------+ 3 rows in set (0.00 sec)
以下は、MySQLでsubstr_replaceのINSERT()関数を実装するためのクエリです-
mysql> select insert(Password,5,length('PPPPPP'),'PPPPPP') from DemoTable;
これにより、次の出力が生成されます-
+----------------------------------------------+ | insert(Password,5,length('PPPPPP'),'PPPPPP') | +----------------------------------------------+ | 7636PPPPPP8793443 | | 1234PPPPPP9899984322 | | 9999PPPPPP4747747432 | +----------------------------------------------+ 3 rows in set (0.00 sec)
-
MySQLLIKEをMySQLINとして実装するためのクエリ?
MySQL IN()のようなクエリを実装するには、LIKE演算子とともにCOUNT()、IF()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Subject varchar(80) -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable valu
-
JSONをMySQLテーブルに挿入しますか?
テーブルを作成し、JSON型の列値を設定しましょう mysql> create table DemoTable1832 ( ListOfNames JSON ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1832(ListOfNames) values('["Sam", &quo