SQL Server:如何选择包含仅包含一个数字

时间:2016-11-08 06:44:21

标签: sql sql-server

我正在尝试编写一个SQL查询,该查询仅返回特定列(例如“数量”列)包含仅包含一个数字的数字的行,例如只有'1(1111111 ......)或仅'2'(2222222 ......)等。

此外,'amount'列还包含带小数点的数字,并且还应返回这些值,例如: 1111.11,2222.22等

3 个答案:

答案 0 :(得分:1)

如果您想使查询通用,您不必指定每个可能的数字,您可以更改以下内容:

WHERE LEN(REPLACE(REPLACE(amount,LEFT(amount,1),''),'.','') = 0 

这将始终使用第一个数字作为字符串其余部分的比较

答案 1 :(得分:0)

如果您使用的是SQL Server,则可以尝试使用此脚本:

SELECT * 
FROM (
        SELECT CAST(amount AS VARCHAR(30)) AS amount
        FROM TableName
)t
WHERE LEN(REPLACE(REPLACE(amount,'1',''),'.','') = 0 OR
      LEN(REPLACE(REPLACE(amount,'2',''),'.','') = 0   

答案 2 :(得分:0)

我尝试用这个代替1111111代替列名:

private final Marker YourMarker;
//Your code

YourMarker=googleMap.addMarker(markerOptions);
YourMarker.showInfoWindow();