TL;DR
- なんか
SELECT * FROM t1 WHERE CONCAT('',c1 * 1) != c1であぶりだせるらしいけどなんで? と聞かれたのでその解説。- 俺は↑のやり方初めて聞いた。。
- 個人的には
WHERE c1 NOT RLIKE '^[0-9][0-9]*$'でいいんじゃない? と思う。
前提(?) 「数値しか入らないはずのカラムに文字列が入っていてバッチが転けてるので削除しました」
「?? カラムの型は?」
「varchar型です」
「ちょwww」 こんな状態
mysql57 8> SELECT num FROM t1;
+----------------------+
| num |
+----------------------+
| 1 |
| 2 |
| 3 |
| 4 |
| \(^o^)/オワタ |
| 0x12345 …[さらに読む]