要知道表中列的数据类型是什么,我们使用'desc schema.table_name'
。如果特定列的数据类型已从character
更改为numeric
。
如何检查该表中是否有数据类型字符的记录。
我看到Select distinct column_1 from schema.table_name
提供了该列中的所有不同值
但是我们可以使用'character'
条件检查where
的数据类型是否进入此表吗?
答案 0 :(得分:0)
如果你理解正确,你可能想在MySql中使用REGEXP
SELECT *
FROM table1
WHERE column1 NOT REGEXP '^[0-9]+$'
SQLFiddle (MySql)
REGEXP_LIKE
如果是Oracle
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)
答案 1 :(得分:0)
如果您使用的是Sql。您可以使用此查询。
select column_name from table_name where column_name not like [0-9]
答案 2 :(得分:0)
如果您使用的是oracle服务器,请尝试此查询
SELECT * FROM table_name WHERE regexp_like(column_name,'[^0-9]+')