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

时间:2015-12-16 06:38:35

标签: mysql sql sql-server database database-administration

我想知道如何在sql中找到Numeric字段的长度。什么是命令/查询,以便我们可以在表中找到特定字段的长度。

例如为: 对于下表:

Column1 Column2
1          1111  
2            11
3         44444      
4            11
5           111

从上面的例子中我想看到列" column2"中的记录/字段。数字长度为' 2'。

我应该执行什么查询才能实现此目标?

3 个答案:

答案 0 :(得分:0)

使用LEN功能

select * 
from table 
where len(column2) = 2

当您想要包含“0.2”或类似值

等数据时,这将不起作用

答案 1 :(得分:0)

您还可以使用POWER功能和<以及>=来维持SARGability

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)

答案 2 :(得分:0)

您不能按照here

说明
  

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

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

SQL Server:

rails server

<强> MySQL的:

select * 
from table 
where len(CONVERT (varchar(10), colunm2 )) = 2