
最外面的那一层括号左边跟的是什么类型就是什么。
to_date 就是非日期型转为日期型
to_char 就是非字符串型转为字符串
你这个题里面本身sysdate就是日期类型,但是可能题目需要你转化为字符类,所以外面一层跟了个to_char,至于后面的的'yyyy-MM-dd HH:mm:ss',则是要显示成包含时分秒的格式,如果你后面跟的'yyyy-MM-dd',那样显示出来的结果又和你这里的不同了。
以下嵌入式 SQL 示例显示了基本的数字到字符串的转换:
返回具有适当数量的前导空格的指定数字。无符号正数前面总是有一个空白字符。如果指定数字的位数少于格式参数,则提供额外的前导空格。
以下嵌入式 SQL 示例显示了分隔符的使用:
第一个 TO_CHAR 返回字符串 '1,00000' ;。第二个 TO_CHAR 也可能返回此值,但显示的分隔符取决于区域设置。
以下嵌入式 SQL 示例显示了正号和负号的使用:
请注意,前导空格仅出现在没有符号格式的正数之前。无论符号的位置如何,负数或任何带符号的数字之前都不会出现前导空格。
以下嵌入式 SQL 示例显示了使用“FM”格式覆盖无符号正数的默认前导空白:
以下嵌入式 SQL 示例显示了前导美元符号的使用:
美元符号前面总是有一个符号或一个空白字符。
以下嵌入式 SQL 示例显示了当 format 参数包含的整数位数少于输入数值时会发生什么:
每个 TO_CHAR 分别返回一串井号: “##” 、 “###” 和 “######” 。
以下嵌入式 SQL 示例显示了当 format 参数包含的十进制(小数)位数少于输入数值表达式时会发生什么:
返回的数字分别四舍五入为 “12345675” 和 “1234568” 。
用Round() + Cast()就可以:
Select bunit_name ,aamount1,aamount2,aamount3,aamount ,
cast(Round((aRate1 100),2) as varchar(13))+'%' Rate1,
cast(Round((aRate2 100),2) as varchar(13))+'%' Rate2,
cast(Round((aRate3 100),2) as varchar(13)),
cast((Round((aRate 100),2) as varchar(13)) +'%' Rate
From rv_tmp_report_sideways a,rv_unit b Where aunit_id = bunit_id
以上就是关于sql语言的to_date 和 to_char怎么区分如何使用啊我老弄混全部的内容,包括:sql语言的to_date 和 to_char怎么区分如何使用啊我老弄混、第142章 SQL函数 TO_CHAR(三)、oracle中的to_char() 在sqlserver2008中如何使用 如下面的语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)