2017-05-26 12 views
0

order by節を使用してMySQLWorkbenchでクエリを実行していますが、返すテーブルはアルファベット順ではありません。私のクエリは次のとおりです。SQL Order by節がアルファベット順で返されない

SELECT property_value FROM job_shared_context 
WHERE property_key = "case-name" 
Order BY property_value asc 

マイリターンテーブル:

"cqroneponv;,'c" 
"padding Case" 
"pwTest1" 
"pwTest5" 
"test 1" 
"test 1" 
"Test Case 12" 
"Test Case 2" 
"test" 
"test" 
"Test1" 
"Turtle Case" 

私はライン9と10でテストがアルファベット順のため、「pwTest5」と「テスト1」の間になると仮定します。

+3

。私たちに行番号を伝えるのではなく、ここで間違っていると思われるものを明確にすることができますか?また、どのDBMS? mysql <> SQLサーバ。 –

+0

「テスト」(単語を指摘できなかった理由がわからない)のインスタンスには、非印刷文字が含まれている可能性がありますか? – Uueerdo

+0

@SeanLange mysql。アルファベット順の私の仮定から "cqroneponv;、" c ">"パディングケース ">" pwTest1 ">" pwTest5 ">" test ">" test 1 ">" test 1 ">"テストケース12 ">"テストケース2 ">"テスト1 ">"タートルケース " –

答えて

0

文字列に引用符やその他の英数字以外の記号がある場合は、並べ替えの計算に含められます。それはこのような何かが動作するはずです、特にクエリでそれらを無視するには...

スペース、ダッシュ、などのようなものとは明白である:もちろん

ORDER BY TRIM(BOTH '"' FROM property_value)

、あなたがすることで、複数の文字をトリミングすることができますそのような入れ子にTRIMコール:大文字小文字を区別しないために、私にはアルファベット順であることになりそうだ

ORDER BY TRIM(BOTH '_' FROM TRIM(BOTH '"' FROM property_value))

+0

ありがとう!!! –

関連する問題