假设我有一个表如下:
id name length 1 A 21.5 2 B 12.4 3 C 0 4 D 17 5 E 1
我希望得到:
id name length 1 A 21.5 5 E 1
表示长度最终为1的所有行.
长度是一numeric
列.
编程语言非常简单,但对SQL来说似乎并不自然.我怎样才能有效而简单地做到这一点?我唯一的想法是将字段转换为Text
然后丢失eveything .
然后将其转换为数组并选择数组长度位置的字母.这将是可行的,但它似乎是一个非常糟糕的解决方案.
你可以使用FLOOR
和模数除法:
SELECT * FROM tab WHERE FLOOR(length) % 10 = 1;
SqlFiddleDemo