3

LENGTHSQLiteでは、の代わりに関数を使用していることを知っていlenます。LENGTHしかし、次のようなサブクエリで関数を使用したい場合:

select length(select name from tblNames where name=1)

エラーが発生しました。式のMicrosoftSQLバージョンは次のとおりです。

iif(len((select  BilgiAcik  from DigerBilg  where BilgTip=12  and BilgDgr=Cstr(Dr.Fr)))>0,( select  BilgiAcik  from DigerBilg  where BilgTip=12 and BilgDgr=Cstr(Dr.Fr)),Cstr(Dr.Fr))  as Fr,

上記の式を次のようにSQLiteに変換しました。

(case length((select  BilgiAcik  from DigerBilg where BilgTip=12 and BilgDgr=CAST(Dr.Fr as TEXT))>0 ( select  BilgiAcik  from DigerBilg  where BilgTip=12 and BilgDgr=Cstr(Dr.Fr)) else CAST(Dr.Fr as TEXT) end) as Fr,

私は何について間違っているのですか?関数でSUBSELECTクエリを使用することはできませんか?LRNGTHこの問題を解決する方法について何か提案はありますか?

4

1 に答える 1

2

次のようにステートメントを再構築する必要があります。

select length(name) from (select name from tblnames where name=1);

必要に応じて副選択をエイリアスすることで、これをもう少し簡単に管理できます。

select length(t.name) from (select name from tblnames where name=1) as t;
于 2011-09-24T08:59:01.573 に答える