環境:SQL 2016;ide
語句 select * from A where PID=JoID3d
上述查詢語句中的Where PID=JoID條件中PID的字段類型爲varchar(50)而JoID的字段類型爲uniqueidentifier,該寫法在升級以前的(SQL2012)庫上沒有問題,但在新庫(SQL2016)中會報錯(Conversion failed when converting from a character string to uniqueidentifier)。只需對字段(uniqueidentifier)作個類型轉換便可(PID=cast(a.JoID as varchar(36))),但因爲PID字段中存儲的數據帶「{}」因此需將上述條件改成where substring(PID, 2, len(PID)-2) = cast(JoID as varchar(36))blog