pao*_*lov 0 sql postgresql padding sqldatatypes sql-like
我正在尝试在postgresql LIKE中使用下划线执行对特定数据模式的搜索,但它似乎不起作用。
客户端的版本为9.2.21,服务器的版本为9.4.12。
例如,
select *
from table1
where f1 like '___'
Run Code Online (Sandbox Code Playgroud)
即使表中明显存在匹配项,也不会返回任何内容(即,存在具有匹配值的数据),例如f1 = '123'。
我想知道是否有系统配置/参数会影响此行为?
还是可以用其他方式解释一下?
存储在定义为的列中的值char(9)将用空格填充到定义的长度。因此,当您存储'123'在该列中时,它实际上存储'123 '
您需要修剪那些尾随的空白:
where trim(f1) = '___'
Run Code Online (Sandbox Code Playgroud)
但是您应该char完全避免使用该类型。它没有提供任何优势,varchar但是有几个缺点(您刚刚发现了一个)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |