我意识到这里有类似的问题,但它们都不是我所需要的。我有一个 SQL 存储过程,它的一部分执行一个视图。我有 3 个设计和功能相同的数据库,但数据不同,我只在其中一个上收到此错误。如果我从出错的数据库中获取视图并在其他数据库中执行它,它运行得很好。最奇怪的是,这个视图工作了,然后停止了,然后自行修复并再次开始工作,当我开始对某些数据进行更改时,它又停止了。
我已将其归结为这一特定行;
Left(AO.Name,PATINDEX('%-%',AO.Name)-1) as ColumnName
有趣的部分是如果我更改'%-%
为'%'
错误消失并且我的 SPROC 正确执行。
我有五个问题;
当我有
'%-%'
但没有时,为什么会出现此错误'%'
?使用一个与另一个有什么区别和什么样的变化?这个错误是什么意思?
为什么完全相同的视图可以在另外两个相同的数据库上正常工作,而在这个数据库上却不行?
为什么它会在它工作后停止工作,然后以某种方式修复自己,然后在一些数据操作后再次破坏自己?
我可以使用 PATINDEX 之外的更好方法吗?
任何帮助表示赞赏。谢谢你。