【问题标题】:Finding a Specific Character in SQL Statement在 SQL 语句中查找特定字符
【发布时间】:2016-08-01 23:36:21
【问题描述】:

有没有办法使用LIKE关键字找到某个字符?

例如,假设我在COL1 中有以下值:

1.75
5.50
5.67

我想编写一个只返回来自 COL1 的值的 SQL 语句,其中小数点后的第二个字符为零(不管数字的其余部分是什么。)

【问题讨论】:

  • Col1 是数字还是字符串?
  • Col1 是字符串,但也可以是数字。如果需要,我可以将其从一种转换为另一种。我正在使用 BI 工具。
  • 有一个或多个. 可能吗?
  • 没有。每个值都采用以下格式:“#.##”(不带引号)

标签: postgresql


【解决方案1】:

每个值都采用以下格式:“#.##”

然后你可以使用通配符%_

  • 模式中的下划线 _ 代表(匹配)任何单个字符;
  • 百分号%匹配零个或多个字符的任意序列。

查询:

SELECT * 
FROM tab 
WHERE col1 LIKE '%._0%';

SqlFiddleDemo

输出:

╔══════╗
║ col1 ║
╠══════╣
║ 5.50 ║
╚══════╝

如果值只是数字(只有两个位置),您可以使用简单的模除法:

SELECT *
FROM tab 
WHERE col1 % 0.1 = 0;

SqlFiddleDemo2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多