【发布时间】:2021-03-16 17:51:05
【问题描述】:
如何在 Firebird 数据库中检查字段的值是否为数字?这似乎是一个简单的问题,但我在 FreeUDFLib 或标准 Firebird 库中找不到任何东西。下面是我在 SQL Server 中的做法。
Select field
from table
where isnumeric(field) = 1
一些研究让我“类似于”。这应该可行,但会引发错误:
select field
from table
where field SIMILAR TO '[0-9]+'
{"动态 SQL 错误" & vbCrLf & "SQL 错误代码 = -104" & vbCrLf & "令牌未知 -" & vbCrLf & "SIMILAR"}
【问题讨论】:
-
你能告诉我们一个实际的查询和文字错误信息吗?也许反对
rdb$database使用 SIMILAR TO ? -
我正在使用 Visual Studio 连接到我的项目中的 firebird 数据库和 FirebirdSql.Data.FirebirdClient 引用。我在字符串生成器中创建一个 sql 语句,然后以这种方式连接到数据库。我宁愿不透露字段名称。我的伪代码显示了我正在查询的内容,引用的文本是我得到的错误消息。
-
什么是 Firebird 版本?使用 TraceAPI 从服务器角度查看查询。 "c:\Program Files\Firebird\Firebird_2_5\bin\fbtracemgr.exe" 或 IBExpert 或 FBProfiler.sf.net // 将字段名替换为 AAAA、BBBB、CCCC 不同的字母以获得不同的令牌。查询告知 FB 版本 - dbfiddle.uk/?rdbms=firebird_3.0
-
还有什么是数据库格式?
select MON$ODS_MAJOR, MON$ODS_MINOR from MON$DATABASEfirebirdsql.org/file/documentation/html/en/refdocs/fblangref25/… -
SIMILAR TO是在 Firebird 2.5 中引入的,这表明您使用的是旧版本。
标签: firebird firebird-.net-provider