在我当前的企业中,我遇到了大量与特定场景相关的问题。
我们有一个 SQL Server 2008,我们想迁移到 SQL Server 2016,所以我们将兼容性从 80 迁移到 100,但是我们的一些存储过程有问题,如下代码所示:
CREATE TABLE #PRUEBA (texto1 char(30), condicion char(30))
INSERT INTO #PRUEBA VALUES ('PFI','1')
INSERT INTO #PRUEBA VALUES ('CFI','2')
SELECT
CASE
WHEN condicion= '1' THEN texto1
ELSE 'TFI'
END
FROM #PRUEBA
DROP TABLE #PRUEBA
Run Code Online (Sandbox Code Playgroud)
兼容性 -> 80
'PFI ' -> char of 30 length
'TFI ' -> char of 30 length
Run Code Online (Sandbox Code Playgroud)
兼容性 -> 90
'PFI ' -> varchar of 30 length
'TFI' -> varchar of 3 length
Run Code Online (Sandbox Code Playgroud)
兼容性 -> 100
'PFI …
Run Code Online (Sandbox Code Playgroud) sql-server-2008 sql-server varchar sql-server-2016 compatibility-level