转换为左撇子的小数,用于小于逻辑

nimxete2  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(259)

我有一张table table1 带列 stringvar1 以及 stringvar2 . 这个 stringvar2 所有条目都以数字开头,然后是空格和字母,有时还有其他数字。我试图选择字符串中的第一个字符在被认为是数字时小于8的位置。
这就是我尝试过的。

SELECT * FROM `table1` WHERE
( stringvar1 LIKE '%33 knicker%' or var1 LIKE '%34 knicker%')
and 
(  cast(left (stringvar2,1) as decimal (1,1)) < 8 )

这将生成语法错误:

1064-您的sql语法有错误;查看与mysql服务器版本相对应的手册,了解使用接近'decimal(1,1))<8的正确语法

)限位0,25'在第7行
我做错什么了?

rggaifut

rggaifut1#

这个怎么样?

where left(stringvar, 1) between '0' and '7'

或者,更简单地说:

where stringvar >= '0' and stringval < '8'

如果你真的想用 cast() 然后投给 signed 或者 unsigned .

yxyvkwin

yxyvkwin2#

cast(left (stringvar2,1) as decimal (1,1))

括号问题。

cast(left (stringvar2,1)) as decimal (1,1)

相关问题