这是我设法研究的代码。整个表从SQL导入,为NOT NULL。我在运行它时收到一条错误消息,“传递给RIGHT函数的长度参数无效”。如果字段中有空白条目,它似乎只会给出此错误消息。
如果字段不为空,如何将此脚本更改为仅运行?
UPDATE [Majestic].[dbo].Fields_custom
SET maxlength=left(right(cast(maxlength as nVarChar),LEN(cast(maxlength as nVarChar))-1),LEN(cast(maxlength as nVarChar))-2)
WHERE maxlength IS NOT NULL
答案 0 :(得分:1)
只需添加一个条件,您的字段必须在开头和结尾都有引号:
... AND maxlength LIKE '"%"'
答案 1 :(得分:0)
如果该字段为空,则长度为零,因此您将要求最右边的-1个字符,这是无效的。
答案 2 :(得分:0)
- sql
WHERE not ( ISNULL(maxlength, '') = '' )
或oracle
WHERE not ( nvl(maxlength, '') = '' )