將字符串轉換為uniqueidentifier時失敗


在日常使用SQL Server的時候會出現【將字符串轉換為uniqueidentifier時失敗】這個報錯,通常是在使用newid()內置函數的時候可以將生成的值轉為字符串,但是反過來則不行,即一些字符串類型的值無法轉換為uniqueidentifier類型的值。

是的沒錯,newid()函數是SQL Server內置的一個生成隨機id的函數,返回的值類型是uniqueidentifier,並不是字符串。

簡單還原下場景:

select '' as id
union all
select newid() as id

解決的方法,只需要將newid()函數生成的值強制轉化為字符串即可。

select '' as id
union all
select cast(newid() as varchar(32))

而事實上在業務場景中使用到uniqueidentifier類型也比較少,如果不是遇到這個報錯我也是不知道這個類型的。

 

"起初的我們,在一起做任何無聊的小事都覺得趣味盎然,就像一顆被投入水杯的泡騰片,咕嚕咕嚕興奮地冒着小泡泡。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM