2016-12-29 6 views
0

LEFTまたはSUBSTRING関数に無効な長さパラメータが渡されました。クエリのLEFTまたはSUBSTRING関数に無効な長さパラメータが渡されました

これは私のSQLクエリです: -

select isnull(max(CAST(substring(assetid,patindex('%-%',assetid)+1,100)+1 AS INTEGER)),1) 
from hardware_register 
where substring(assetid,1,patindex('%-%', assetid)-1) = upper('ACS') 
+2

サンプルテーブルのデータを表示できますか?ここで何をしようとしているのか分かりません。 –

+2

" - "を持たない 'assetid'で失敗します –

+2

[LEFTまたはSUBSTRING関数に無効な長さパラメータが渡されました](http://stackoverflow.com/questions/17368062/invalid-length-parameter -passed-to-the-left-or-substring-function) –

答えて

0

場合は「 - 」assetidに提示したり、クエリを満たすレコードがないではないあなたは、このエラーになります。

" - "がassetidにあるかどうかを確認してから、長さを渡します。

select isnull(max(CAST(substring(assetid,CASE WHEN (patindex('%-%',assetid)>0) THEN patindex('%-%',assetid)+1 END,100)+1 AS INTEGER)),1) 
from hardware_register 

where句もSQLを検証して変更してください。

関連する問題