2010-12-30 4 views
0

"キー値"フィールドから情報を取得するためにSQLクエリを作成しようとしました。フィールドのキー値フィールドの情報を取得するSQL

  • 例:A<1,?,'wfinitiation'=A<1,?,'DocID'=56581,'DocVersion'=0>>

だけのDocIDを選択するSQLfunctionを持つことが可能ですか?例の

  • 結果は次のようになります。56581私は機能を使用することができます

Thxを

+0

データには「フィールド」というラベルを付けます。それはOO言語の命名法です。あなたのデータはどんなフォーマットですか? Ps。いくつかのフィールドを「フィールド」として表示します。 – IamIC

+0

これは、この情報を含むデータベース内のフィールドです。私は、SQLクエリでDocID値を選択したいと思います。答えのための – Masna

答えて

1

あなたはこの列に含まれる個々の値を照会する必要がある場合は、情報を抽出し、リレーショナル形式での保存を検討してください。現在、第1正規形に違反しています。

これはsubstringcharindexを使用できると述べています。

DECLARE @key VARCHAR(20) 
SET @key='DocID'; 

DECLARE @Search VARCHAR(30) 
SET @Search='''' + @key + '''='; 

WITH your_table(col) 
    AS (SELECT 'A<1,?,''wfinitiation''=A<1,?,''DocID''=56581,''DocVersion''=0>>') 

SELECT Substring(col, Charindex(@Search, col) + Len(@Search), 
       Charindex(',', 
       REPLACE(col, '>', ','), Charindex(@Search, col)) - (
       Charindex(@Search, col) + Len(@Search))) AS value 
FROM your_table 
+0

Thx。私は、この表が標準形式に違反していることを知っていますが、別のアプリケーションのデータベースの表です。 – Masna

関連する問題