oracle 列名为数字如何查询
时间: 2023-09-13 15:12:44 浏览: 46
如果 Oracle 数据库中的列名为数字,可以使用双引号将列名括起来来进行查询。例如,如果列名为 123,查询语句应该是:
```
SELECT "123" FROM table_name;
```
注意,使用双引号括起来的列名在 Oracle 中被视为区分大小写的标识符,因此必须精确匹配列名的大小写。
相关问题
oracle查询不是数字的字符串
在 Oracle 数据库中,要查询不是数字的字符串,您可以使用正则表达式来筛选出非数字字符。以下是一个示例查询:
```sql
SELECT your_column
FROM your_table
WHERE REGEXP_LIKE(your_column, '[^0-9]')
```
在上面的查询中,`your_column` 是您要查询的列名,`your_table` 是您要查询的表名。`REGEXP_LIKE` 函数用来进行正则匹配,`[^0-9]` 表示匹配非数字字符。
如果您想排除包含数字的字符串,可以使用 `NOT REGEXP_LIKE`:
```sql
SELECT your_column
FROM your_table
WHERE NOT REGEXP_LIKE(your_column, '[0-9]')
```
这样将只返回不包含任何数字的字符串。
请注意,正则表达式区分大小写。如果需要不区分大小写的匹配,可以使用 `REGEXP_LIKE` 函数的第三个参数指定标志,如 `REGEXP_LIKE(your_column, '[^0-9]', 'i')`。
希望这可以帮助到您!如果还有其他问题,请随时提问。
oracle instr函数查找数字
您好!要使用 Oracle 数据库中的 `INSTR` 函数来查找数字,您可以按照以下方式使用该函数:
```sql
SELECT INSTR(column_name, '1', 1, 1) AS position
FROM table_name;
```
上述查询将返回指定列(`column_name`)中第一个出现数字 '1' 的位置。如果要查找其他数字,只需将 `'1'` 替换为您想要查找的数字即可。
如果您希望查找所有出现的数字位置,而不仅仅是第一个,可以使用 `INSTR` 函数的 `occurrence` 参数:
```sql
SELECT INSTR(column_name, '1', 1, LEVEL) AS position
FROM table_name
CONNECT BY INSTR(column_name, '1', 1, LEVEL) > 0;
```
上述查询将返回指定列(`column_name`)中所有出现数字 '1' 的位置。
请注意,`column_name` 是您要在其中搜索的列名,`table_name` 是包含该列的表名。确保将它们替换为您实际使用的列和表的名称。
希望对您有所帮助!如果您有任何其他问题,请随时提问。