小编Elm*_*Elm的帖子

在redshift中使用sql函数generate_series()

我想在redshift中使用generate系列函数,但还没有成功.

redshift文档说它不受支持.以下代码确实有效:

select *
from generate_series(1,10,1)
Run Code Online (Sandbox Code Playgroud)

输出:

1
2
3
...
10
Run Code Online (Sandbox Code Playgroud)

我想对约会做同样的事情.我尝试了很多变种,包括:

select *
from generate_series(date('2008-10-01'),date('2008-10-10 00:00:00'),1)
Run Code Online (Sandbox Code Playgroud)

踢出去:

 ERROR: function generate_series(date, date, integer) does not exist
 Hint: No function matches the given name and argument types.
 You may need to add explicit type casts. [SQL State=42883]
Run Code Online (Sandbox Code Playgroud)

还尝试过:

select *
from generate_series('2008-10-01 00:00:00'::timestamp,
'2008-10-10 00:00:00'::timestamp,'1 day')
Run Code Online (Sandbox Code Playgroud)

并试过:

select *
from generate_series(cast('2008-10-01 00:00:00' as datetime),
cast('2008-10-10 00:00:00' as datetime),'1 day')
Run Code Online (Sandbox Code Playgroud)

两个都踢了出来:

ERROR: function generate_series(timestamp without time zone, timestamp without time zone, …
Run Code Online (Sandbox Code Playgroud)

sql generate-series amazon-redshift

18
推荐指数
3
解决办法
2万
查看次数

SQL Server在amazon redshift中的isNumeric()等效

  • 我正在使用amazon redshift作为我的数据仓库
  • 我有一个字符串类型的字段(field1).一些字符串以四个数字开头,其他字符串以字母开头:

'test
alpha''1382测试版'

  • 我想过滤掉字符串不以四个数字开头的行
  • 看看redshift文档,我不相信isnumber或isnumeric是函数.似乎'喜欢'功能是最好的可能性.
  • 我试过了

    其中left(field1,4)喜欢'[0-9] [0-9] [0-9] [0-9]'

这不起作用,从下面的链接看起来像redshift可能不支持:

https://forums.aws.amazon.com/message.jspa?messageID=439850

'where'子句中有错误吗?如果没有,并且redshift不支持该子句,有没有办法过滤?我在考虑使用演员

cast(left(field1,4) as integer) 
Run Code Online (Sandbox Code Playgroud)

如果它产生错误,然后通过该行,但不知道如何在亚马逊红移中执行此操作.或者是否存在isnumeric过滤器的其他代理.

谢谢

amazon-redshift

14
推荐指数
4
解决办法
2万
查看次数

有没有办法从Amazon Redshift进行SQL转储

有没有办法从Amazon Redshift进行SQL转储?

你可以使用SQL workbench/J客户端吗?

mysql sql dump amazon-s3 amazon-redshift

11
推荐指数
2
解决办法
1万
查看次数

在redshift postgresql中我可以跳过具有复制功能的列

  • 我有一个带有列的.csv表(t1):亚马逊S3存储中的c1,c2,c3
  • 我想将其复制到亚马逊红移中
  • 我用列创建表:c1,c2,c3,其中所有列都可以为空
  • 我用命令复制:

    从t1复制t1a(c1,c3)

  • 我预计它将从t1复制c1和c3并将默认的空值放在c2中,因此t1a中的一行可能看起来像(c1_rowX,null,c3_rowX).

  • 相反,我得到一个类型错误,因为它将来自t1的c2(字符串类型)数据复制到t1a的c3(int类型).

  • 当我没有指定列时,copy命令工作正常:

    从t1复制t1a

  • 我已经包含了一个指向redshift copy命令文档的链接:

http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html

  • 主要问题是我使用指定列的问题.谢谢

postgresql amazon-redshift

8
推荐指数
2
解决办法
6603
查看次数

当从amazon redshift将表卸载到s3时,如何使它只生成一个文件

当我将表从亚马逊红移卸载到S3时,无论表格多么小,它总是将表分成两部分.我已经阅读了关于卸载的redshift文档,但除了它之外没有其他答案说有时会拆分表(我从未见过它没有这样做).我有两个问题:

  • 有没有人见过只创建一个文件的情况?

  • 有没有办法强制将redshift卸载到单个文件中?

amazon-s3 amazon-redshift

5
推荐指数
1
解决办法
4179
查看次数

在bigquery中,有没有办法通过浏览器界面将数据字段设置为可空

在bigquery中,有没有办法通过浏览器界面将数据字段设置为可空?

如果没有,并且我在列中混合了整数和NULL值,那么bigquery会接受该字段的"整数"类型还是需要"字符串"?

谢谢

google-bigquery

4
推荐指数
1
解决办法
2198
查看次数

aws redshift 中的 ILIKE 和 NOT ILIKE 与总数不同

我在 amazon redshift 中运行了以下三个查询:

select count(*)  
from t1  
Run Code Online (Sandbox Code Playgroud)

计数为 1554。

select count(*)  
from t1  
where  
    item_name ilike "blue"  
Run Code Online (Sandbox Code Playgroud)

计数是62。

select count(*)  
from t1  
where  
    item_name not ilike "blue"  
Run Code Online (Sandbox Code Playgroud)

计数是85。

最后两个 (62 + 85) 应该等于 1554。我错过了什么?

sql null count amazon-redshift

3
推荐指数
1
解决办法
1万
查看次数

Redshift左外部联接省略了空值

作为背景,我设置了100个redshift查询,比这复杂得多,但是我想我肯定缺少一些简单的东西。

我正在做表1和表2之间的左外部联接。这些表本质上是这样的:

Table1
Col1  Col2 Col3
A     C    E
A     D    F

Table2
Col 1 Col2 Col3
A     C    Z
Run Code Online (Sandbox Code Playgroud)

我没有where陈述。我的on声明是:

on Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2
Run Code Online (Sandbox Code Playgroud)

我的结果表是:

ResultTable:
Col1 Col2 Col3 Col4
A    C    E    Z
Run Code Online (Sandbox Code Playgroud)

我期待:

ExpectedTable:
Col1 Col2 Col3 Col4
A    C    E    Z
A    D    F    Null
Run Code Online (Sandbox Code Playgroud)

我想念什么?谢谢。

sql left-join amazon-redshift

3
推荐指数
2
解决办法
7381
查看次数