select char(date('2012-07-07'),iso) from tablename,报171错误,有人遇到过吗?
char函数
char(current date,ISO)——转换成yyyy-mm-dd
char(current date,USA)——转换成mm/dd/yyyy
char(current date,EUR)——转换成dd.mm.yyyy
上面语句亲试了一下 没有问题啊。
注意一下符号是不是在英文状态下。追问
char(current date,ISO)——转换成yyyy-mm-dd
char(current date,USA)——转换成mm/dd/yyyy
char(current date,EUR)——转换成dd.mm.yyyy
上面语句亲试了一下 没有问题啊。
注意一下符号是不是在英文状态下。追问
你用的DB2是什么版本的,这个可能和版本有关系吧,或者和权限设置有关系?我查了下char函数,这样用应该是没有问题的啊。
追答也可能和DB2版本有关,和权限应该没什么关系,我用的V9.7。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-18
DB2 字符串格式, 转换为 日期格式, 应该 TO_DATE 函数就可以啦
db2 => SELECTdb2 (cont.) => TO_DATE('2011.10.01', 'YYYY.MM.DD')
db2 (cont.) => FROM SYSIBM.SYSDUMMY1;
1
--------------------------
2011-10-01-00.00.00.000000
1 条记录已选择。
第2个回答 2013-09-17
-171 42815 标量函数指定了无效的数据类型长度或者无效数值
可能你iso字段的值不匹配char() 函数的格式。追问
可能你iso字段的值不匹配char() 函数的格式。追问
我试过,把iso去掉,就不会报171的错误了。但是去掉后结果不是我想要的值,结果变成2012-07-07.00.00.00。现在怀疑,是不是数据库有什么设置,不支持char后面带有iso,usa,eur这些。