0

私はこのようなケースステートメントを持っています

SELECT
Location,
CASE WHEN id BETWEEN 1 AND 7 THEN '05' ELSE '01' END AS id
FROM Locations

ただし、これは先行ゼロなしで 5 または 1 を返します。

試してみましCAST('05' AS sql_variant)たが、この select をテーブルへの挿入ステートメントとして使用し、その nvarchar フィールドを使用するので、それは気に入りません。

何か案は?ありがとう

4

2 に答える 2

1

SQL 2008R2 でクエリを試してみましたが、問題なく動作します。

あなたはいつでもこれを行うことができます:

SELECT
 Location,
 right('0'+convert(varchar(2), CASE WHEN id BETWEEN 1 AND 7 THEN '5' ELSE '1' END), 2) AS id
FROM Locations

値を変数にバインドしていますか、それとも別のテーブルに直接挿入していますか? 例: INSERT INTO table2 SELECT ...

于 2012-11-22T16:57:14.680 に答える