0

$$$$#####$$番号がない場合にはいくつかの例外がありますが、通常は の形式をとる主キーを持つデータのテーブルがあります。キーの数字部分を抽出し、それを使用して一意の主キーを生成したいと考えています。

したがって、数値のみを表示する列を含むビューを作成し、数値に変換できない項目は無視しました。

ビューから特定のアイテムを選択するクエリを作成すると、

nvarchar 値をデータ型 int に変換するときに変換に失敗しました。

ビューの例外を具体的に無視しましたが、それらはまだ何らかの方法で参照されているようです。

どんな助けでも大歓迎です。

マット

4

1 に答える 1

0

キーの数字部分を抽出し、それを使用して一意の主キーを生成したいと考えています。

この最速の方法を使用して、SQL Server の VARCHAR から数値以外の文字を削除します

CREATE Function [fnRemoveNonNumericCharacters](@strText VARCHAR(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
    WHILE PATINDEX('%[^0-9]%', @strText) > 0
    BEGIN
        SET @strText = STUFF(@strText, PATINDEX('%[^0-9]%', @strText), 1, '')
    END
    RETURN @strText
END

列の値を関数に渡し、整数にキャストします。上記の関数を適用した後、列の値に数値が含まれているかどうかのチェックを変換する別の関数を作成できます。

別の参照

この助けを願っています

于 2012-08-16T11:12:25.640 に答える