2017-10-12 6 views
0

私はこれらのコンバージョンのいくつかに苦労していますので、私は謝罪します。これまで同様の質問をしましたが、これを達成する方法について私の頭を尽くすことはできません。SQL CONVERT STRING

だから、50.00の値は、現在、以下の形式にエクスポートされている -

000000000000050000 

25.99の値が

000000000000025990 

のようになります。これは、すべての主要な文字は18文字のフィールドですゼロで埋められます。まだ先行ゼロで - -

私は何をしようとしていると、19文字の文字列にそれを変換しているが、50または25.99の値が若干異なっている -

0000000000000500000000000000000005000

000000000000025990なり0000000000000002599

になります

ご協力いただければ幸いです。

+0

T-SQLの 'SUBSTRING'関数の検索 – saidfagan

+0

18文字の変換はどのように行われますか? – gbn

+0

下記の答えはあなたが望むものに完全に文字列を翻訳します。新しい番号を含むフィールドをnvarchar(19)に変更することを忘れないでください。 ALTER TABLE tablename ALTER COLUMN somecolumn nvarchar(19) – russ

答えて

1

あなたはしたいように見える:

select '00' + left(str, 17) 

は、これは非常に奇妙な形式です。おそらく、数字を正確に表すことができるnumeric/decimalの使用を検討する必要があります。

0

仮定の多くは、単にあなたのオリジナルの18文字を切り捨てとなり

SELECT '00'+LEFT(OriginalField, 17) 

は、前面に2つのゼロのを入れて...この答えに入る、しかし。

17番目の文字を丸める必要がある場合、解決策はあまり簡単ではありません。