我想知道如何在sql中找到Numeric字段的长度。什么是命令/查询,以便我们可以在表中找到特定字段的长度。
例如为: 对于下表:
Column1 Column2
1 1111
2 11
3 44444
4 11
5 111
从上面的例子中我想看到列" column2"中的记录/字段。数字长度为' 2'。
我应该执行什么查询才能实现此目标?
答案 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