単語をソートするカスタム関数とそれをPostgreSQLで使用する(実装コード)
2022-01-10 08:30:57
Pythonの実装ロジック
1. セパレータによる文字列のリスト型への分割
drugs.split(separator)
2. リストソート
drug_list.sort()
3. リストステッチ
separator.join(drug_list)
4. 型式決定
データベースの対応するフィールドがNULL、つまりPythonのNoneである可能性があり、None型はsplit()の使い道がないので、それが真かどうかを判断する条件を追加します。もしNULLであれば、Noneを返します。
Pythonの実装
def word sort(drugs,separator):
if drugs:
drug_list=drugs.split(separator)
drug_list.sort()
new_drugs=separator.join(drug_list)
else:
new_drugs=None
return new_drugs
word sort(drugs,separator)
SQLの実装
DROP FUNCTION IF EXISTS word sorting;
CREATE OR REPLACE FUNCTION word sort (drugs TEXT, separator TEXT)
RETURNS text
AS $$
if drugs:
drug_list=drugs.split(separator)
drug_list.sort()
new_drugs=separator.join(drug_list)
else:
new_drugs=None
return new_drugs
$$ LANGUAGE plpython3u;
SELECT word sort('aa;dd;bbb;cd;zz',';');
以上、PostgreSQLで単語の並び替えを行うカスタム関数とその使い方についてご紹介しました。PostgreSQLのカスタム関数については、Script Houseの過去記事を検索していただくか、引き続き以下の記事をご覧ください。
関連
-
postgresqlにおける時間処理のコツ(推奨)
-
PostgreSQLのユーザーログイン失敗時の自動ロック解決策
-
PostgreSQLでデータの一括インポートのパフォーマンスを向上させるn個の方法を説明します。
-
Postgresqlのデータベース権限まとめ
-
postgresql いくつかのメソッドは、要約の重複するデータを削除する
-
Postgresqlの操作でSQL文の実行効率を表示する
-
PostgreSQLがバキュームテーブルの情報を収集する必要があることを発見する方法
-
pgAdmin for postgreSQLでサーバーのデータをバックアップする方法
-
PostgreSQLの自己インクリメント構文使用上の注意点
-
Postgresqlのデータベースにおける配列の作成と変更に関する操作
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
postgresのjsonbプロパティの利用について
-
Postgresqlの行から列への高度な応用と要約のアイデア
-
Postgresqlの高度なアプリケーションは、セルのアイデアをマージするの詳細
-
Postgresqlへのリモートアクセスの設定方法(ファイアウォールの設定またはOFFが必要です。)
-
エクセルテーブルのデータをpostgresqlのデータベースにインポートする方法
-
PostgreSQLで文字列が対象の文字列を含むかどうかを判断する様々な方法
-
どのように定期的にLinux上でpostgresqlのデータベースをバックアップする
-
postgreSQLのクエリ結果に自己インクリメントシーケンス演算が追加されました。
-
PostgreSQLにおけるsequence、serial、identityの使い方の違いについて
-
PostgreSQLにおけるVACUUMコマンドの使用方法