1
我有一個表應該是nvarchar(8)
,但意外存儲爲bigint (8 bytes)
。數據現在正在運行。 我需要將bigint
數值轉換爲預期的nvarchar(8)
字符串。例如 列值應該是'MOLASSES',但實際上是數值5570755107535144275
。SQL Server將nvarchar轉換爲Big Int並返回到nvarchar
任何人都可以幫忙嗎?
我有一個表應該是nvarchar(8)
,但意外存儲爲bigint (8 bytes)
。數據現在正在運行。 我需要將bigint
數值轉換爲預期的nvarchar(8)
字符串。例如 列值應該是'MOLASSES',但實際上是數值5570755107535144275
。SQL Server將nvarchar轉換爲Big Int並返回到nvarchar
任何人都可以幫忙嗎?
要將bigint轉換回varchar,請先將其轉換回二進制值。
http://sqlfiddle.com/#!6/3e91f/2
CREATE TABLE BYTESTREAM(VALUE BIGINT NOT NULL);
INSERT INTO BYTESTREAM VALUES (5570755107535144275);
SELECT VALUE
, CONVERT(VARBINARY(8), VALUE)
, CONVERT(VARCHAR(8), CONVERT(VARBINARY(8), VALUE))
FROM BYTESTREAM
謝謝你。我現在看看解決方案,並認同它很明顯。 – user3049876
你不能適合5570755107535144275到8個字符 – Takarii
一個nvarchar場我Takarii同意,而且要列從優化搜索的數據類型轉換爲字符串任何關節原因。你期待Unicode數據嗎? –
當潛在的幫助出現諸如「你爲什麼要這樣做?」之類的問題之前,我經常會感興趣。等等。它的好處在於提供的幫助將取決於要求的原因。 – user3049876