要知道表中列的数据类型是什么,我们使用'desc schema.table_name'
. 如果特定列的数据类型已从 更改character
为numeric
。
如何检查该表中是否有任何具有数据类型字符的记录。
我看到Select distinct column_1 from schema.table_name
在该列中给出了所有不同的值
但是我们可以'character'
使用条件检查数据类型是否进入该表where
吗?
如果正确理解你,你可能想REGEXP
在 MySql中使用
SELECT *
FROM table1
WHERE column1 NOT REGEXP '^[0-9]+$'
SQLFiddle (MySql)
如果REGEXP_LIKE
是甲骨文
SELECT *
FROM table1
WHERE NOT REGEXP_LIKE(column1, '^[0-9]+$')
或没有REGEXP_LIKE
SELECT *
FROM table1
WHERE LENGTH(TRIM(TRANSLATE (column1, '0123456789',' '))) IS NOT NULL
SQLFiddle (Oracle 11g)
如果您使用的是 oracle 服务器,请尝试此查询
SELECT * FROM table_name WHERE regexp_like(column_name,'[^0-9]+')
如果你使用 Sql. 您可以使用此查询。
select column_name from table_name where column_name not like [0-9]