我有一个非常大的数据库,大约有20000个条目。有些条目包含六个或七个数字的坐标,但不在“坐标”字段中,而是在“备注”字段中。
我想在他们的备注字段中找到所有有coordniates的条目。
到目前为止,我建立了与我的数据库的连接,定义了一个游标并尝试了以下外观的查询:
query = " SELECT INDEX
FROM GeoTest.dbo.Tabelle_Bohrung
WHERE BO_BEMERKUNG NOT LIKE '%[^0-9]%' "
INDEX是每个条目的ID(不同)。
好吧,我想我应该使用正则表达式来捕捉坐标。
我真的不知道如何用我的查询来表达我想要的东西。
我会非常感谢每一个建议和帮助!!
所以这是备注字段的原始示例:
ID remarks
LINE1 ID 1 - 2 Bohrungen vorhanden - Koordinate 2. Bohrung: 524'656 / 158'307
LINE2 ID 2 Schichtbeschrieb siehe BL 16.Z.03
LINE3 ID 3 - Koordinate 2. Bohrung 510'055 / 165'687
LINE4 ID 4 - Bohrprofil siehe Kataster - Nummer 2944
LINE5 ID 5 - Tiefe der Bohrung 60 m
在我的情况下,我想用我的查询获取LINE1和LINE3的ID。
答案 0 :(得分:0)
如果您使用LIKE
,则实际上并未使用正则表达式。它只支持文字(显然),char类([]
中的替代字符/范围),通配符(带_
)和锚定(默认情况下它是锚定的:%
用于取消锚定,也可以像中间的.*
一样使用。
如果您想确保坐标中有2个数字(每个数字的小数部分用'
表示),用空格填充/
分隔,则可以执行以下操作:LIKE '%[0-9]\'[0-9]% / %[0-9]\'[0-9]%'