首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从表中查找数值字段长度的SQL查询/命令是什么?

从表中查找数值字段长度的SQL查询/命令是什么?
EN

Stack Overflow用户
提问于 2015-12-16 14:38:35
回答 3查看 1.8K关注 0票数 0

我想知道如何在sql中找到数值字段的长度。什么是命令/查询,以便我们可以在表格中找到永久字段的长度。

例如:下表:

代码语言:javascript
复制
Column1 Column2
1          1111  
2            11
3         44444      
4            11
5           111

从上面的例子中,我希望看到"column2“列中的记录/字段,它的数字长度是'2‘。

我应该执行什么查询来实现这一点?

EN

回答 3

Stack Overflow用户

发布于 2015-12-16 14:40:14

使用LEN函数

代码语言:javascript
复制
select * 
from table 
where len(column2) = 2

当您想要包含像'0.2‘或类似值这样的数据时,这将不起作用

票数 0
EN

Stack Overflow用户

发布于 2015-12-16 14:43:33

还可以使用POWER函数以及<>=来维护SARGability

代码语言:javascript
复制
WITH tbl (column1, column2) AS(
    SELECT 1, 1111 UNION ALL
    SELECT 2, 11 UNION ALL
    SELECT 3, 44444 UNION ALL
    SELECT 4, 11 UNION ALL
    SELECT 5, 111
)
SELECT *
FROM tbl
WHERE
    column2 < POWER(10, 2)
    AND column2 >= POWER(10, 1)
票数 0
EN

Stack Overflow用户

发布于 2015-12-16 15:31:55

你不能像之前说的那样,here

长度和数字都是特定基数(即字符串)中数字的物理表示的属性。

所以你必须先将数字字段转换为varchar/char,然后找到长度,如下所示:

SQL Server:

代码语言:javascript
复制
select * 
from table 
where len(CONVERT (varchar(10), colunm2 )) = 2

MySQL:

代码语言:javascript
复制
select * 
from table 
where length(convert(column2,char)) = 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34305418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档