Sql 创建表时的Postgres格式
我的工作是考博士后。我通常使用SAS和Oracle和Teradata语法编写SQL。我们的测试数据库有一个非常松散的表,其中每个列都是以255字符的形式创建的。我有一件非常简单的事情,我正试图去做,但它不起作用。我想创建一个新表,并将其格式从255改为10。我还想删除所有尾随空格。此外,“为空”不起作用。即使某个值不可见Sql 创建表时的Postgres格式,sql,postgresql,sas,Sql,Postgresql,Sas,我的工作是考博士后。我通常使用SAS和Oracle和Teradata语法编写SQL。我们的测试数据库有一个非常松散的表,其中每个列都是以255字符的形式创建的。我有一件非常简单的事情,我正试图去做,但它不起作用。我想创建一个新表,并将其格式从255改为10。我还想删除所有尾随空格。此外,“为空”不起作用。即使某个值不可见 PROC SQL; CONNECT TO POSTGRES(&connectstuff); EXECUTE(CREATE TABLE common.UNQ_NUM_LI
PROC SQL;
CONNECT TO POSTGRES(&connectstuff);
EXECUTE(CREATE TABLE common.UNQ_NUM_LIST AS
SELECT DISTINCT UNIQUE_NUM,
BTRIM(PAT_ACCT) AS PAT_ACCT
FROM ACCT_DATA.ACCNTS
) by postgres;
DISCONNECT FROM POSTGRES;
QUIT;
我想将PAT_ACCT创建为字符10格式,但不确定如何创建。创建表格时,我是否可以指示新格式?我试过的一切都不管用。甚至BTRIM实际上似乎也没有去掉该值上的尾随空格。同样,空值不会被“IS null”识别。我觉得这应该很简单 要影响数据类型,请在查询中适当地强制转换结果列:
CAST (btrim(pat_acct) AS character(10)) AS pat_acct
但是,无法通过这种方式设置列notnull
我建议您执行两条语句:一条语句按照您希望的方式创建表,另一条语句类似于
INSERT INTO ...
SELECT ... FROM ...
向我们展示样本数据、电流和期望输出<代码>我尝试过的一切都不起作用你尝试过什么。什么意思不起作用?错误/错误的结果?太棒了!成功了!非常感谢。