GVKun编程网logo

在ORACLE的select语句中获取字段的数据类型(在oracle中,语句select decode)

9

本文将带您了解关于在ORACLE的select语句中获取字段的数据类型的新内容,同时我们还将为您解释在oracle中,语句selectdecode的相关知识,另外,我们还将为您提供关于MySQL查询从

本文将带您了解关于在ORACLE的select语句中获取字段的数据类型的新内容,同时我们还将为您解释在oracle中,语句select decode的相关知识,另外,我们还将为您提供关于MySQL查询从多个select语句中获取结果?、mysql的select * from Booktable limit语句和oracle什么语句相似、ORA-00936在Oracle select语句中使用date函数时、Oracle SQL – 帮助在Select语句中使用Case的实用信息。

本文目录一览:

在ORACLE的select语句中获取字段的数据类型(在oracle中,语句select decode)

在ORACLE的select语句中获取字段的数据类型(在oracle中,语句select decode)

是否可以使用select语句获取所选的每一列的数据类型而不是值?

例如:

SELECT a.name, a.surname, b.ordernum FROM customer aJOIN orders bON a.id = b.id

结果应该是这样的

name    | NVARCHAR(100)surname | NVARCHAR(100)ordernum| INTEGER

也可以像这样排成一行,这并不重要:

name           |   surname     |  ordernumNVARCHAR(100)  | NVARCHAR(100) |   INTEGER

谢谢

答案1

小编典典

您可以查询all_tab_columns数据库中的视图。

SELECT  table_name, column_name, data_type, data_length FROM all_tab_columns where table_name = ''CUSTOMER''

MySQL查询从多个select语句中获取结果?

MySQL查询从多个select语句中获取结果?

mysql查询从多个select语句中获取结果?

要从多个 select 语句中获取结果,请使用 UNION ALL。以下是语法 -

select yourValue1 AS anyColumnName
UNION ALL
select yourValue2 AS yourColumnName
.
.
.
.
N
登录后复制

让我们实现上述语法,以返回不同行中的数字枚举 -

mysql> select 100 AS Number
   UNION ALL
   select 1000 AS Number
   UNION ALL
   select 10000 AS Number
   UNION ALL
   select 100000 AS Number
   UNION ALL
   select 1000000 AS Number
   UNION ALL
   select 10000000 AS Number
   UNION ALL
   select 100000000 AS Number
   UNION ALL
   select 1000000000 AS Number;
登录后复制

这将产生以下输出 -

+------------+
| Number     |
+------------+
|        100 |
|       1000 |
|      10000 |
|     100000 |
|    1000000 |
|   10000000 |
|  100000000 |
| 1000000000 |
+------------+
8 rows in set (0.00 sec)
登录后复制

以上就是MySQL查询从多个select语句中获取结果?的详细内容,更多请关注php中文网其它相关文章!

mysql的select * from Booktable limit语句和oracle什么语句相似

mysql的select * from Booktable limit语句和oracle什么语句相似

导包之前是用的mysql,而我用的是oracle

ORA-00936在Oracle select语句中使用date函数时

ORA-00936在Oracle select语句中使用date函数时

我有一个查询,我试图根据Oracle中两个unix时间戳之间的小时数汇总数据。最难的部分是即使在查询中没有发现任何错误,我也会收到错误提示“
ORA-00936:缺少表达式 ”。在这里需要一些专家建议。以下是查询-

询问 -

select DATE(FROM_UNIXTIME(C.DATETIMEORIGINATION)) the_date,HOUR(FROM_UNIXTIME(C.DATETIMEORIGINATION)) the_hour,count(c.RECORD_ID) the_count 
FROM TABLE_A C 
WHERE C.DATETIMEORIGINATION between 1380033019 AND 1379702408 
GROUP BY 1,2;

任何帮助是极大的赞赏。谢谢

Oracle SQL – 帮助在Select语句中使用Case

Oracle SQL – 帮助在Select语句中使用Case

CREATE TABLE student_totalexp2 nologging compress AS
SELECT /*+parallel(a,4)*/ disTINCT a.member_sk,CASE 
         WHEN b.end_date IS NULL THEN 
           SYSDATE - MIN(TO_DATE(b.start_date,''yyyymm''))
         ELSE 
           (MAX(TO_DATE(b.end_date,''yyyymm'')) - MIN(TO_DATE(b.start_date,''yyyymm'')))  
       END as days_experience
  FROM student_schools a 
  JOIN rdorwart.position_rd b ON a.member_sk = b.member_sk 
 WHERE days_experience < 730 
 GROUP BY a.member_sk;

SELECT COUNT(*) 
  FROM student_experience;

知道为什么我一直收到这个错误:错误报告:

sql Error: ORA-00904: “DAYS_EXPERIENCE”: invalid identifier 00904. 00000 – “%s: invalid identifier”
*Cause:
*Action:

解决方法

您不能在WHERE子句中引用别名.要么使用子查询,要么更好地使用整个CASE … END到where子句中.

根据OP的评论更新了查询:

create table student_totalexp2 nologging compress as 
SELECT a.member_sk,SUM(CASE WHEN b.end_date IS NULL
    THEN sysdate 
    ELSE to_date(b.end_date,''yyyymm'') 
  END - to_date(b.start_date,''yyyymm'')) as days_experience
FROM student_schools a INNER JOIN rdorwart.position_rd b 
  ON a.member_sk = b.member_sk 
GROUP BY a.member_sk
HAVING SUM(
  CASE WHEN b.end_date IS NULL
    THEN sysdate 
    ELSE to_date(b.end_date,''yyyymm'')
  ) < 730;
SELECT COUNT(*) FROM student_experience;

今天关于在ORACLE的select语句中获取字段的数据类型在oracle中,语句select decode的分享就到这里,希望大家有所收获,若想了解更多关于MySQL查询从多个select语句中获取结果?、mysql的select * from Booktable limit语句和oracle什么语句相似、ORA-00936在Oracle select语句中使用date函数时、Oracle SQL – 帮助在Select语句中使用Case等相关知识,可以在本站进行查询。

本文标签: