我怎样才能在PostgreSQL中获得本周的星期一日期?
例如,今天是2015年1月16日(星期五).本周的星期一日期是2015年12月1日.
我正在使用Pentaho数据集成(表输入步骤)从MySQL服务器获取数据.一些字段属于'Timestamp'类型,Pentaho因为时间戳为NULL(00:00:00.000000)而不断喷出错误.
我zeroDateTimeBehavior=convertToNull在参数中添加了一个应该处理坏时间戳的参数,但是它将我的所有 Timestamp数据转换为NULL.
我认为可能发生这种情况的一个原因是因为我的一些"好"数据被表示为,例如,2013-03-14 04:55:09.000000.虽然大部分日期都是"好数据",但小数秒(.000000)可能被zeroDateTimeBehavior参数解释为"坏"数据,因此被转换为NULL.
我不确定这是不是为什么会发生这种情况,但是有人可以给我一些关于其他可能原因的见解以及世界上我如何阻止这种情况?也许转换成字符串可能是一个好主意,但我不知道如何去做这件事.
建议?
我可以使用该to_char函数将其转换为YYYY-MM-DD HH24:MI:SS正确的结果,但我希望将DD和“HH”之间的空格替换为字母“T”。
如果我使用,YYYY-MM-DDTHH24:MI:SS那么我会得到,例如,2014-06-09THH24:58:30.
我怎样才能得到我需要的格式?
我正在使用以下代码检查列是否存在,如果不存在,请添加它:
mysql_query("select $column from $table") or mysql_query("alter table $table add $column varchar (20)");
Run Code Online (Sandbox Code Playgroud)
但是数据库没有变化.有什么建议吗?
PS数据库已连接.
我是第一次使用SSH隧道,所以我试图了解如何配置它.
我有一个远程Linux服务器,它托管我正在尝试连接的MySQL数据库.为了通过只识别本地数据库的软件直接访问MySQL数据库,我认为SSH隧道是设置访问权限的正确方法,对吗?
现在,我正在尝试在我的'home'计算机上设置隧道,该计算机正在运行试图访问MySQL数据库的软件.我的第一个问题是这是反向隧道还是正常隧道?其次,是本地隧道还是远程隧道?
最后,根据我的理解,我的代码应该看起来像
ssh -L 8080:mylinuxserver.mycompany.com:22 myuser@mylinuxserver.mycompany.com
Run Code Online (Sandbox Code Playgroud)
它是否正确?我的源端口'22'是因为我使用SSH并且是我的目标端口8080(或者有更合适的东西)?
当我尝试使用上面的代码时,我能够使用我的密码登录(因为我的密钥已经在MyLinuxServer中)但是当我ping localhost:8080时,它无法找到主机.
我究竟做错了什么?
我正在寻找将4列合并为1个新列的步骤.对于每一行,四列中只有一列具有填充的单元格.此外,列的类型为String.