私の環境では SQL Server 2005 を使用しています。
各行にいくつかの SQL クエリに関するかなりのデータが含まれている列があります。各行は、データベースでは 1 つの長い行のように見えますが、行からデータを抽出すると、キャリッジ リターンが含まれているため、複数の行に分割されます。
以下は、改行で分割された列の 1 つの行からのデータの例です。先頭と末尾のスペースを除いて、「pseudo =」を含む各行の等号の後に続くすべてを抽出できる方法を見つけようとしていますが、これまでのところ失敗しています。
したがって、「pseudo=」を含む行では、= 記号の後に続くすべてが必要です。次に、先頭と末尾のスペースがあればそれを削除します。また、各 "pseudo=" 行の終わりにキャリッジ リターンを維持したいと考えています。次に、すべての「疑似 =」行のこの新しい文字列を新しい列の新しい行に格納したいと考えています。
私の SQL はあまり強力ではなく、この小さなパズルでループに陥りました。どんな助けでも大歓迎です。列にはせいぜい 500 ~ 600 行しかないことに注意してください。
0x8A40D34D4BEC294D8934029D569B2BFE
table=ca_discovered_hardware
target_type=1
label=label
typefield=
primarykeyfield=dis_hw_uuid
secondarykeyfield=domain_uuid
excludeclause=
[Arguments]
Arguments=12
[Argument 1]
type=1
pseudo= (
sql=(
valid=1
[Argument 2]
type=11
pseudo=(Link Query '[ES] IPQ: Tokyo (JPN)' using 'default' method)
sql=dis_hw_uuid in ($TARGETLINKSQL$)
valid=1
queryuuid=f8e488a2b34ee24b85db3f8fafd4e9a2
query_name=[ES] IPQ: S&B - Tokyo (JPN)
[Argument 3]
type=1
pseudo= )
sql=)
valid=1
[Argument 4]
type=1
pseudo= AND
sql= AND
valid=1
[Argument 5]
type=1
pseudo= NOT
sql= NOT
valid=1
[Argument 6]
type=1
pseudo= (
sql=(
valid=1
[Argument 7]
type=9
pseudo=(Current Server = 'APTOPRK01CIGE')
sql=ca_discovered_hardware.dis_hw_uuid in (SELECT object_uuid FROM ca_agent WHERE server_uuid IN (SELECT server_uuid FROM ca_server WHERE label='APTOPRK01CIGE'))
valid=1
[Argument 8]
type=1
pseudo= OR
sql= OR
valid=1
[Argument 9]
type=11
pseudo=(Link Query '[DM] EXQ: Obsolete Exclude' using 'default' method)
sql=dis_hw_uuid in ($TARGETLINKSQL$)
valid=1
queryuuid=00000000000000000000000000000000
query_name=[DM] EXQ: Obsolete Exclude
[Argument 10]
type=1
pseudo= OR
sql= OR
valid=1
[Argument 11]
type=11
pseudo=(Link Query '[DM] EXQ: Server Exclude' using 'default' method)
sql=dis_hw_uuid in ($TARGETLINKSQL$)
valid=1
queryuuid=00000000000000000000000000000000
query_name=[DM] EXQ: Server Exclude
[Argument 12]
type=1
pseudo= )
sql=)
valid=1