列値のエイリアスを設定する

BilalAhmed

SQL Serverの列ヘッダーに設定されているように、列値のエイリアスを設定することは可能ですか?

または、列の値をクライアントが読み取れる形式に変換する他の方法がある場合。

次のシステム生成値があります。

BILL_DETAILS
BILLING_MENU
ComplaintNumberInput
CUSTOMER_ACCOUNT_NUMBER_INPUT
DEFAULTER
FAULTS_SHUTDOWN_MENU
KUNDA_CONNECTION
LOAD_SHEDDING_MENU
LOAD_SHEDDING_SCHEDULED
loadSheddingScheduleReplayer
loadSheddingStatus
loadSheddingStatusReplayer
MENU_CONTEXT_EVAL
POWER_COMPLAINTS_MENU
repaetComplaintStatus

以下でそれらを変更することは可能ですか?

BILL DETAILS
BILLING MENU
COMPLAINT NUMBER INPUT
CUSTOMER ACCOUNT NUMBER INPUT
DEFAULTER
FAULTS SHUTDOWN MENU
KUNDA CONNECTION
LOAD SHEDDING MENU
LOAD SHEDDING SCHEDULED
LOAD SHEDDING SCHEDULE REPLAYER
LOAD SHEDDING STATUS
LOAD SHEDDING STATUS REPLAYER
MENU CONTEXT EVAL
POWER COMPLAINTS MENU
REPEAT COMPLAINT STATUS
Zohar Peled

SQLでは、エイリアスはデータベースオブジェクトの別の名前です。値はこのカテゴリに分類されないため、エイリアスを作成することはできません。ただし、クエリの出力をフォーマットすることはできますが、フォーマットは通常、データ層ではなくプレゼンテーション層で行うのが最適です。

そうは言っても、あなたの質問にはt-sqlソリューションがあります。

SELECT REPLACE(ColumnName, '_', ' ') As ColumnName
FROM TableName

これにより、すべての下線がスペースに変換されます。

他の形式を処理するには、その問題を解決してくれたJeff Modenにも感謝します(このリンクを参照)。

SELECT COALESCE(STUFF(ColumnName, NULLIF(patindex('%[a-z][A-Z]%', ColumnName COLLATE Latin1_General_BIN), 0) + 1, 0, ' '), Col) AS ColumnName
FROM TableName

したがって、2つのソリューションを組み合わせると、最終的なSQLは次のようになります。

SELECT REPLACE(COALESCE(STUFF(ColumnName, NULLIF(patindex('%[a-z][A-Z]%', ColumnName COLLATE Latin1_General_BIN), 0) + 1, 0, ' '), ColumnName), '_', ' ') AS ColumnName
FROM TableName

このようにして、新しい値がテーブルに追加されるたびにクエリを変更することなく、純粋なt-sqlでこれらの2つの形式を処理できます。

投稿した値のテストケースは次のとおりです。

DECLARE @t TABLE (Col VARCHAR(40))

INSERT INTO @t VALUES
('BILL_DETAILS'),
('BILLING_MENU'),
('ComplaintNumberInput'),
('CUSTOMER_ACCOUNT_NUMBER_INPUT'),
('DEFAULTER'),
('FAULTS_SHUTDOWN_MENU'),
('KUNDA_CONNECTION'),
('LOAD_SHEDDING_MENU'),
('LOAD_SHEDDING_SCHEDULED'),
('loadSheddingScheduleReplayer'),
('loadSheddingStatus'),
('loadSheddingStatusReplayer'),
('MENU_CONTEXT_EVAL'),
('POWER_COMPLAINTS_MENU'),
('repaetComplaintStatus')

SELECT Col
       ,UPPER(REPLACE(COALESCE(STUFF(col, NULLIF(patindex('%[a-z][A-Z]%', Col COLLATE Latin1_General_BIN), 0) + 1, 0, ' '), Col), '_', ' ')) AS NewCol
FROM @t

結果:

Col                                      NewCol

BILL_DETAILS                             BILL DETAILS
BILLING_MENU                             BILLING MENU
ComplaintNumberInput                     COMPLAINT NUMBERINPUT
CUSTOMER_ACCOUNT_NUMBER_INPUT            CUSTOMER ACCOUNT NUMBER INPUT
DEFAULTER                                DEFAULTER
FAULTS_SHUTDOWN_MENU                     FAULTS SHUTDOWN MENU
KUNDA_CONNECTION                         KUNDA CONNECTION
LOAD_SHEDDING_MENU                       LOAD SHEDDING MENU
LOAD_SHEDDING_SCHEDULED                  LOAD SHEDDING SCHEDULED
loadSheddingScheduleReplayer             LOAD SHEDDINGSCHEDULEREPLAYER
loadSheddingStatus                       LOAD SHEDDINGSTATUS
loadSheddingStatusReplayer               LOAD SHEDDINGSTATUSREPLAYER
MENU_CONTEXT_EVAL                        MENU CONTEXT EVAL
POWER_COMPLAINTS_MENU                    POWER COMPLAINTS MENU
repaetComplaintStatus                    REPAET COMPLAINTSTATUS

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQLの*の後にエイリアスを設定する

分類Dev

PhalconFrameworkのModel :: query()にエイリアスを設定する方法

分類Dev

Java9のエイリアスを設定する

分類Dev

エイリアス列のサイズを定義する

分類Dev

select句でequalsを使用して列エイリアスを設定する

分類Dev

アプリ設定ファイル内のYii2でエイリアスを設定する

分類Dev

MySql-2つのエイリアス名を1つの列に設定する方法

分類Dev

文字列のエイリアスを設定することはできますか?

分類Dev

クラス内の列挙型アイテムに値を設定するC ++

分類Dev

ディレクトリのエイリアスを設定する

分類Dev

設定ファイルのアプリ設定値としてjson文字列を追加する方法

分類Dev

アイテムリストのデフォルト値を設定する方法

分類Dev

HTTPClient get()リクエストのタイムアウトを設定する

分類Dev

zshとbashの間でエイリアスとPATH設定を共有する

分類Dev

OSXでpython3のエイリアスを設定する方法

分類Dev

WindowsPowerShellでSSHコマンドのエイリアスを設定する

分類Dev

Django RestHTTPリクエストのタイムアウトを設定する方法

分類Dev

nixosでエイリアスを設定する方法は?

分類Dev

WindowsPowerShellでエイリアスを設定する

分類Dev

メールエイリアスを設定する

分類Dev

`model`フックのエイリアスを設定します

分類Dev

配列のインデックス値を設定する方法

分類Dev

MysqlでCASEを使用して値をエイリアスフィールドに設定する

分類Dev

bashでそのエイリアスを介して変数に値を設定できますか?

分類Dev

HTTP リクエストのタイマーを設定する

分類Dev

AndroidStudioでSQLデータベースの列の値を設定するクエリ

分類Dev

アンドロイドで配列項目をクリック上のStringArray値を設定するには?

分類Dev

チルダ+エイリアススタイルを設定する方法は?

分類Dev

テーブルからすべてを選択1つの列をASでエイリアスに設定

Related 関連記事

  1. 1

    SQLの*の後にエイリアスを設定する

  2. 2

    PhalconFrameworkのModel :: query()にエイリアスを設定する方法

  3. 3

    Java9のエイリアスを設定する

  4. 4

    エイリアス列のサイズを定義する

  5. 5

    select句でequalsを使用して列エイリアスを設定する

  6. 6

    アプリ設定ファイル内のYii2でエイリアスを設定する

  7. 7

    MySql-2つのエイリアス名を1つの列に設定する方法

  8. 8

    文字列のエイリアスを設定することはできますか?

  9. 9

    クラス内の列挙型アイテムに値を設定するC ++

  10. 10

    ディレクトリのエイリアスを設定する

  11. 11

    設定ファイルのアプリ設定値としてjson文字列を追加する方法

  12. 12

    アイテムリストのデフォルト値を設定する方法

  13. 13

    HTTPClient get()リクエストのタイムアウトを設定する

  14. 14

    zshとbashの間でエイリアスとPATH設定を共有する

  15. 15

    OSXでpython3のエイリアスを設定する方法

  16. 16

    WindowsPowerShellでSSHコマンドのエイリアスを設定する

  17. 17

    Django RestHTTPリクエストのタイムアウトを設定する方法

  18. 18

    nixosでエイリアスを設定する方法は?

  19. 19

    WindowsPowerShellでエイリアスを設定する

  20. 20

    メールエイリアスを設定する

  21. 21

    `model`フックのエイリアスを設定します

  22. 22

    配列のインデックス値を設定する方法

  23. 23

    MysqlでCASEを使用して値をエイリアスフィールドに設定する

  24. 24

    bashでそのエイリアスを介して変数に値を設定できますか?

  25. 25

    HTTP リクエストのタイマーを設定する

  26. 26

    AndroidStudioでSQLデータベースの列の値を設定するクエリ

  27. 27

    アンドロイドで配列項目をクリック上のStringArray値を設定するには?

  28. 28

    チルダ+エイリアススタイルを設定する方法は?

  29. 29

    テーブルからすべてを選択1つの列をASでエイリアスに設定

ホットタグ

アーカイブ