Select datatype of the field in postgres
-
23-09-2019 - |
문제
How do I get datatype of specific field from table in postgres ? For example I have the following table, student_details ( stu_id integer, stu_name varchar(30 ), joined_date timestamp );
In this using the field name / or any other way, I need to get the datatype of the specific field. Is there any possibility ?
올바른 솔루션이 없습니다
다른 팁
You can get data types from the information_schema (8.4 docs referenced here, but this is not a new feature):
=# select column_name, data_type from information_schema.columns
-# where table_name = 'config';
column_name | data_type
--------------------+-----------
id | integer
default_printer_id | integer
master_host_enable | boolean
(3 rows)
You can use the pg_typeof() function, which also works well for arbitrary values.
SELECT pg_typeof("stu_id"), pg_typeof(100) from student_details limit 1;
run psql -E
and then \d student_details
// READ opperation
// listName: The name of the list you want to get items from
// siteurl: The url of the site that the list is in.
// success: The function to execute if the call is sucesfull
// failure: The function to execute if the call fails
function getListItems(listName, siteurl, success, failure) {
$.ajax({
url: siteurl + "/_api/web/lists/getbytitle('" + listName + "')/items",
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
success(data);
},
error: function (data) {
failure(data);
}
});
}
// CREATE Operation
// listName: The name of the list you want to get items from
// siteurl: The url of the site that the list is in. // title: The value of the title field for the new item
// success: The function to execute if the call is sucesfull
// failure: The function to execute if the call fails
function createListItemWithDetails(listName, siteUrl, title, success, failure) {
var itemType = GetItemTypeForListName(listName);
var item = {
"__metadata": { "type": itemType },
"Title": title
};
$.ajax({
url: siteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(item),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
success(data);
},
error: function (data) {
failure(data);
}
});
}
.
http://blogs.msdn.com/b/uksharepoint/archive/2013/02/22/Manipulation-List-Items-In-SharePoint-Hosted-Apps-using-the-rest-api.aspx
다음 포스트는 NAPA 및 Client 객체 모델을 사용하여 앱을 만드는 방법을 보여줍니다.클라이언트 오브젝트 코드를 바꿀 수 있고 휴식을 사용할 수 있습니다. http://sharepointnadeem.blogspot.com/2013/12./sharepoint-2013-develop-sharepoint-2013.html
If you like 'Mike Sherrill' solution but don't want to use psql, I used this query to get the missing information:
select column_name,
case
when domain_name is not null then domain_name
when data_type='character varying' THEN 'varchar('||character_maximum_length||')'
when data_type='numeric' THEN 'numeric('||numeric_precision||','||numeric_scale||')'
else data_type
end as myType
from information_schema.columns
where table_name='test'
with result:
column_name | myType
-------------+-------------------
test_id | test_domain
test_vc | varchar(15)
test_n | numeric(15,3)
big_n | bigint
ip_addr | inet
현재 SP 컨텍스트가 앱 웹에 있기 때문에이 오류가 발생했습니다.따라서 HostWebURL을 사용하여 새 컨텍스트를 만들면 오류가 발생합니다.이를 사용해야합니다.
교체 :
context = new SP.ClientContext(hostweburl);
.
작성자 :
context = new SP.ClientContext();
. Pulling data type from information_schema
is possible, but not convenient (requires joining several columns with a case
statement). Alternatively one can use format_type
built-in function to do that, but it works on internal type identifiers that are visible in pg_attribute
but not in information_schema
. Example
SELECT a.attname as column_name, format_type(a.atttypid, a.atttypmod) AS data_type
FROM pg_attribute a JOIN pg_class b ON a.attrelid = b.relfilenode
WHERE a.attnum > 0 -- hide internal columns
AND NOT a.attisdropped -- hide deleted columns
AND b.oid = 'my_table'::regclass::oid; -- example way to find pg_class entry for a table
Based on https://gis.stackexchange.com/a/97834.