-1

テキスト列にデータがあり、その文字列を(末尾の を削除して)xxxxx.x.xx ビューに表示する必要があるようです。xxxxx.x.xx

これを行う方法がわかりません。どんな助けでも大歓迎です。

最初から2番目の「。」までの長さを取得する必要があると思います。そしてその長さを残しました。

また、これを列式として実行できるのでしょうか、それとも関数が必要でしょうか?

ここに別のひねりがあります。xxxxxx.xx.x文字の長さがandのように可変である場合、同じ問題をどのように処理しxxxxx.x.xますか?

4

3 に答える 3

2

これを試すこともできます:

SELECT 
    REVERSE(
        SUBSTRING(
            REVERSE(@word),
            CHARINDEX('.', REVERSE(@word))+1,
            LEN(REVERSE(@word))
                 )
            )
FROM yourTable

ここにSQLFiddleがあります

xx.xxxx.xx.xxxこの解決策は一般的なものであるため、ドットで区切られたその他の数の文字がある場合にも機能します。

于 2013-10-24T19:26:03.843 に答える
1

これは、次の式を使用して実現できます。

left(@s, charindex('.', @s, charindex('.', @s) + 1) - 1)

(@s は varchar 値です)

オンライン デモ: http://www.sqlfiddle.com/#!3/d41d8/23448

于 2013-10-24T19:24:14.803 に答える