在linux bash中,当我输入date -d "1986-01-01"
它时显示错误
date: invalid date "1986-01-01"
当date -d "1986-01-02"
它工作
当date -d "1987-01-01"
它也有效
为什么date -d "1986-01-01"
在Linux Bash shell中显示错误.
我正在使用Fedora 16
如果行包含单词 VARCHAR(1000),我需要在行的开头插入“--”
我的文件示例是:
TRIM(CAST("AP_RQ_MSG_TYPE_ID" AS NVARCHAR(1000))) AP_RQ_MSG_TYPE_ID, TRIM(CAST("AP_RQ_PROCESSING_CD" AS NVARCHAR(1000))) AP_RQ_PROCESSING_CD, TRIM(CAST("AP_RQ_ACQ_INST_ID" AS NVARCHAR(11))) AP_RQ_ACQ_ INST_ID,修剪( CAST("AP_RQ_LOCAL_TXN_TIME" AS NVARCHAR(10))) AP_RQ_LOCAL_TXN_TIME, TRIM(CAST("AP_RQ_LOCAL_TXN_DATE" AS NVARCHAR(10))) AP_RQ_LOCAL_TXN_DATE, TRIM(CAST("AP_RQ_RETAILER" AS NVARCHAR(11))) AP_RQ_RETAILER,
我用了这个命令
sed 's/\(^.*VARCHAR\(1000\).*$\)/--\1/I' *.sql
Run Code Online (Sandbox Code Playgroud)
但结果并不如预期。有谁知道我做错了什么?
我必须在白色空格之后剪切字符串并将值存储在空白之前.我的示例脚本如下所示
tString="This is my name"
echo $tString | cut -d' ' -f1
Run Code Online (Sandbox Code Playgroud)
输出:
这个
现在我想将此输出值分配给变量.我的剧本是
tString="This is my name"
var=$($tString | cut -d' ' -f1)
Run Code Online (Sandbox Code Playgroud)
它显示error.Error消息
这:找不到命令
我是bash shell脚本的新手.任何人都知道如何做到这一点.
我正在使用bash编写脚本,我得到这样的负数
-001,-002,-003,.........................,-008,-009,-010,-011,-012. ....
我必须将它们改为正数,所以我决定将-1乘以它们.然后
$ val=$(( -1*-001 ))
$ echo $val
$ 1
$ val=$(( -1*-002 ))
$ echo $val
$ 2
Run Code Online (Sandbox Code Playgroud)
结果可以达到-007,但是当我乘以-008和-009时,会发生如下错误
$ val=$(( -1*-008 ))
bash: -1*-008: value too great for base (error token is "008")
$ val=$(( -1*-009 ))
bash: -1*-009: value too great for base (error token is "009")
Run Code Online (Sandbox Code Playgroud)
另一个奇怪的行为是,当我乘以-010,-011,-012等等...异常结果发生如下
$ val=$(( -1*-010 ))
$ echo $val
$ 8
$ val=$(( -1*-011 ))
$ echo $val
$ 9
$ val=$(( -1*-012 ))
$ echo $val
$ …
Run Code Online (Sandbox Code Playgroud) 我的csv文件是:
1234,0045,0045,0345,300
1235,0046,0446,2345,301
1236,0047,0447,0350,302
Run Code Online (Sandbox Code Playgroud)
我需要这样的结果:
1234,45,45,345,300
1235,46,446,2345,301
1236,47,447,350,302
Run Code Online (Sandbox Code Playgroud)
我想使用Unix SED命令完成此任务。还可以理解任何其他替代方法。
我想要2000-02-05
在snowsql 中使用以下查询的结果。
alter session set TWO_DIGIT_CENTURY_START=2000;
select cast ('05-FEB-00' as date) from dual;
Run Code Online (Sandbox Code Playgroud)
但我得到0001-02-05
. 我正在使用现有脚本在适用于 oracle 的雪花中加载日期。我知道我可以使用 to_date 函数获得预期的结果,但我不想这样做。如果我必须,那么我已经改变了脚本中的许多地方,这是忙碌的。
我想要使用 cast 函数的解决方案。有谁知道这里发生了什么?