查找sql表字段里小数点后不为0的数值
时间: 2024-10-13 11:06:24 浏览: 30
sql实现修改表字段名的方法详解
5星 · 资源好评率100%
在SQL查询中,如果你想查找表字段中小数点后不为零的数值,你可以使用`WHERE`条件结合`FIND_IN_SET`函数(如果数据库支持),或者直接通过判断数学运算来实现。这里给出两个示例:
**1. MySQL 示例 (使用 `FIND_IN_SET` 函数):**
```sql
SELECT * FROM table_name
WHERE column_name REGEXP '^[^0]*\.[^0]+$';
```
在这个例子中,`REGEXP`操作符用于匹配包含非零小数点后数字的字符串。
**2. PostgreSQL 示例 (使用 `SUBSTRING` 和 `LENGTH` 函数):**
```sql
SELECT * FROM table_name
WHERE column_name !~ '^(\d*\.\d+)?0$';
```
这个查询检查是否小数部分不全为0。
**3. SQL Server 示例 (使用 `PATINDEX` 函数):**
```sql
SELECT * FROM table_name
WHERE LEN(column_name) > PATINDEX('%[0]%', column_name);
```
这个查询计算小数点后的第一个0之前的部分长度,如果大于0则说明有非零小数。
阅读全文