2017-10-12 38 views
0

我確實遇到過這些轉換中的一些問題,所以我很抱歉,過去我曾經提過類似的問題,但是我不知道如何實現這個目標。SQL CONVERT STRING

那麼的50.00值正在被導出到以下格式 -

000000000000050000 

的25.99的數值看起來像

000000000000025990 

這是一個18字符的字段,其中任何前導字符用零填充。

我所試圖做的是將其轉換成一個19字符的字符串 - 還與領先的零 - 但50或25.99值略有不同 -

000000000000050000成爲0000000000000005000

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

大量假設進入這個答案,但...

SELECT '00'+LEFT(OriginalField, 17) 

這將截斷原來的18字符和簡單地把兩個零的在前面。

如果您需要可能收集第17個字符,解決方案並非如此簡單。