0

可能であれば、列から特定の形式で値を返すT-SQLクエリが必要です。

これはプログラムで実行できますが(c#)、SQL Server 2008を使用してクエリで実行することはできますか?

これが現在のクエリです

select id, server_name, domain_name 
from mastertable

現在の出力:

id server_name   domanin_name
1  sys1          one.abc.in
2  sys2          two.pqr.in 
3  sys3          three.abc.in 
4  sys4          four.xyz.in

データを次のように表示する必要があります(列domain_nameの(。)の後の値をスキップ):

id server_name domanin_name
1  sys1        one
2  sys2        two
3  sys3        three 
4  sys4        four

前もって感謝します

4

2 に答える 2

2

次のようなことを試すことができます:

SELECT id, server_name, SUBSTRING(domain_name, 1, CHARINDEX('.', domain_name) - 1)
FROM mastertable
于 2012-04-30T09:57:12.800 に答える
1

次のようなものを使用できます。

SELECT
    id,
    server_name,
    mod_domain_name =
        CASE CHARINDEX('.', domain_name)
            WHEN 0 THEN domain_name
            ELSE SUBSTRING(domain_name, 1, CHARINDEX('.', domain_name) - 1)
        END
FROM mastertable

これは、にが含まれていることを確認するためにテストし、含ま.れているdomain_name場合は、ドメイン名を「クリップ」して、最初のビットの前のビットのみを表示します。.

于 2012-04-30T09:59:02.030 に答える