0

次のクエリは、数値データ型 (int、bigint など) に対して機能します。同じことをしたいのですが、それを varchar に適用します。これは可能ですか?

CREATE SEQUENCE acct_seq
 START WITH 1
 INCREMENT BY 1
 NO MAXVALUE
 NO CYCLE
 CACHE 24
;

SELECT accntnum  AS new_acct, old_acct
FROM FINAL TABLE (
UPDATE accounts INCLUDE(old_acct INT)
SET accntnum = NEXT VALUE FOR acct_seq, old_acct = accntnum
)
ORDER BY old_acct;

UPDATE accounts INCLUDE(old_acct INT)int の代わりにラインで使用したいVARCHAR(size). サイズは 4 から 100 の間になります。

4

1 に答える 1

1

最初に INT を CHAR にキャストし、次に VARCHAR にキャストします。

SET accntnum = cast(cast(NEXT VALUE FOR acct_seq as CHAR(255)) as VARCHAR(255)), old_acct = accntnum

于 2013-08-21T15:07:37.077 に答える