Bus*_*cka 18 sql oracle types function
我可以使用select语句获取我选择的每列的数据类型而不是值吗?
例如:
SELECT a.name, a.surname, b.ordernum
FROM customer a
JOIN orders b
ON a.id = b.id
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的
name | NVARCHAR(100)
surname | NVARCHAR(100)
ordernum| INTEGER
Run Code Online (Sandbox Code Playgroud)
或者它可以在这样的行中,它并不重要:
name | surname | ordernum
NVARCHAR(100) | NVARCHAR(100) | INTEGER
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 14
通过使用,我发现了一种非常直观的方法 DUMP()
SELECT DUMP(A.NAME),
DUMP(A.surname),
DUMP(B.ordernum)
FROM customer A
JOIN orders B
ON A.id = B.id
Run Code Online (Sandbox Code Playgroud)
它将返回如下内容:
'Typ=1 Len=2: 0,48' 对于每一列.
Type=1手段VARCHAR2/NVARCHAR2
Type=2是指NUMBER/FLOAT
Type=12装置DATE等
您可以参考这个oracle doc获取信息数据类型代码
或者这个用于简单映射Oracle Type Code Mappings
abh*_*bhi 13
您可以all_tab_columns在数据库中查询视图.
SELECT table_name, column_name, data_type, data_length FROM all_tab_columns where table_name = 'CUSTOMER'
Run Code Online (Sandbox Code Playgroud)
我通常创建一个视图并使用以下DESC命令:
CREATE VIEW tmp_view AS
SELECT
a.name
, a.surname
, b.ordernum
FROM customer a
JOIN orders b
ON a.id = b.id
Run Code Online (Sandbox Code Playgroud)
然后,该DESC命令将显示每个字段的类型。
DESC tmp_view
| 归档时间: |
|
| 查看次数: |
76037 次 |
| 最近记录: |