[Programmers]-中性化の有無を理解する


1. Problem 📃
📚 ソース-プログラマ
ANIMAL INSテーブルには、動物が動物保護所に入った後の情報が含まれています.ANIMAL INS表構造は、ANIMAL ID、ANIMAL TYPE、DATETIME、INTAKE CONDITION、NAME、SEX UPON INTAKEがそれぞれ動物のアイデンティティ、生物種、保護開始日、保護開始時の状態、名称、性別、中性化を表す.
NAMETYPENULLABLEANIMAL_IDVARCHAR(N)FALSEANIMAL_TYPEVARCHAR(N)FALSEDATETIMEDATETIMEFALSEINTAKE_CONDITIONVARCHAR(N)FALSENAMEVARCHAR(N)TRUESEX_UPON_INTAKEVARCHAR(N)FALSE
保護所の動物が中性化したかどうか知りたいです.中性化した動物はSEX UPON INTAKE色に「Neuted」または「Spayed」を含む.動物のID、名前、中性化の有無をID順に問い合わせるSQL文を書いてください.中性化なら「O」でなければ「X」

たとえば、ANIMAL INSテーブル:
ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKEA355753Dog2015-09-10 13:14:00NormalElijahNeutered MaleA373219Cat2014-07-29 11:43:00NormalEllaSpayed FemaleA382192Dog2015-03-13 13:14:00NormalMaxwell 2Intact Male
  • 中性化動物:Elijah,Ella
  • 未中性化動物:Maxwell 2
  • したがって、SQL文を実行するときは、次のようにします.
    ANIMAL IDNAMEニュートラルA 35753 ElijahOA 373219 ElaOA 382192 Maxwell 2 X
    ※欄名が一致する必要はありません.
    2. Code 💻
    1.私が解いたパスワード
    SELECT ANIMAL_ID, NAME,
    IF(SEX_UPON_INTAKE LIKE 'Neutered%' or SEX_UPON_INTAKE LIKE 'Spayed%' ,'O', 'X') AS '중성화'
    FROM ANIMAL_INS
    ORDER BY ANIMAL_ID
    2.他人が解いたパスワード
    SELECT ANIMAL_ID, NAME, IF (SEX_UPON_INTAKE LIKE '%Intact%', 'X', 'O') as 중성화
    FROM ANIMAL_INS
    # WHERE SEX_UPON_INTAKE LIKE 'Neutered%' or 'Spayed%'
    ORDER BY ANIMAL_ID
    3.他人が解いたパスワード
    SELECT  ANIMAL_ID,
            NAME,
            IF(SEX_UPON_INTAKE REGEXP 'Neutered|Spayed', 'O' , 'X') AS 중성화
    FROM    ANIMAL_INS
    3. Feedback 📚
    1. LIKE
    LIKEは初めてor演算できない問題を知りました.
    だからLIKEが複数のセクタを使う必要があるなら別々に使います!
    2.REGEXP正規表現
  • 正規表現は、特定の規則を有する文字列の集合を表す形式言語である.
  • 文字列を処理する方法の1つであり、「検索」または「置換」の特定の条件を非常に容易に処理できる文字の方法である.
  • 追加