私はSELECT COUNT(*) AS 'columnName' ...
のように始まる複雑な文字列を持っています。結果には正または0が表示されます。私が欲しいのは、0の場合です.string1
(0ではなく)を印刷し、0よりも高い場合は、その番号の代わりにstring2
を印刷します。注意点は、条件文を使用したくないということです.if
またはcase
はありません。私は置換機能について考えてきましたが、私はそれが動作するとは思わない。その後、VIEW(結果を格納する仮想テーブル?)が機能するでしょうか?元のテーブルデータを変更したくない場合は、出力を操作したいだけです。私はそれを理解できません、私はSQLの初心者です。助けて?MYSQL - 0を文字列に置き換え、0以外の文字列をSQLクエリ出力に出力します。
答えて
select COALESCE((select 'string1' as s
from table1
having count(*) < 0)
,'string2')
が文字列1を返します。文字列2
これはまさに私が望んでいたものです。私は 'COALESCE'キーワードについて知りませんでした。ありがとう! –
これは完璧な批判ではありませんvあなたが望んだことであるという事実は、質問の前提に欠陥があるように思えます。 @ RestlessC0bra、あなたはこれが*正確に* SELECTと同じものであることを認識していないように見えます(SELECT 1はテーブル1を持ちます(*)<0)IS NOT NULL THEN 'string1' ELSE 'string2' END; '(または任意の数の類似した構成要素)。論理的に有効で一般的にははるかに直感的であるため、条件式を避ける理由はありません。例えば 'SELECT IF(EXISTS(SELECT * FROM table1) '、' string1 '、' string2 ');' –
@ Michael-sqlbot欠陥。これは私が欲しかったことと私が書いたことです。はい、私は同意します。 –
正しいアプローチはCASE
を使用することですが、他の方法があります:
select elt(1 + least(count(*), 1), 'string1', 'string2')
count(*)
はほとんど0
を返すことはありません。そこにはgroup by
されていないと、テーブルが行を持っていない(またはすべての行がwhere
によってフィルタリングされている場合にのみ0
を返します。それが返す他のテーブルにレコードがない場合は、クエリの上
- 1. 出力文字列「ナン」の値が0
- 2. "Hello {0}"のような文字列を出力する
- 3. 複数の入力を文字列に置き換えます。
- 4. SQLイメージのデータ型をクエリして文字列に出力
- 5. 文字列を別の文字列に置き換えます
- 6. 文字列をBeautifulSoupの文字列に置き換えます。
- 7. switch文が文字入力を文字列出力に変換しない
- 8. MySQLの文字列変換リターン0
- 9. 文字列の繰り返し値を0に置き換えます。
- 10. MySQLクエリ文字列に変数を出力する方法は?
- 11. 文字列をベクトル文字列に置き換えます。
- 12. MySQL:最初の文字列以外の文字列を置換する
- 13. 文字列内の文字の位置を出力する
- 14. 最初の文字が0の場合、文字列の最初の文字を置き換えます。
- 15. 文字列の文字を配列の文字に置き換えます
- 16. C#文字列内の他のすべての文字をホワイトリストの文字以外に置き換えます
- 17. 最初の出現箇所を '。'に置き換えます。 SQL文字列に
- 18. 文字列出力の出力比較
- 19. forループを使用して、文字列内の特定の文字を数値に置き換えて新しい文字列に出力します。
- 20. haskellで文字列以外の値を出力する
- 21. TxtFieldで文字列と出力を文字列に変換して出力する - CodeNameOne
- 22. Javascriptを - 文字列複数の文字列に置き換え
- 23. Mysql:文字を置き換えて列に挿入します
- 24. SQLは任意の文字を0に変換します0
- 25. 文字列内である文字を別の文字に置き換えたり、逆の文字を文字列に置き換えたりします。
- 26. SQLのテーブルの文字列を別の文字列に置き換える
- 27. jaxbの出力文字列
- 28. Groovyの文字列置換txtファイルは0を返します
- 29. Redisの出力文字列をビット列に変換する
- 30. 文字列を部分文字列に置き換える
初心者の方は 'CASE'を使うべきです。それは正しいアプローチです。さらに、' count(*)はほとんど0を返しません。 –
あなたのカウントをvarcharにキャストして置き換えます本当に置き換えたい場合 – maSTAShuFu