Oracle 10g ,pl/sql
中,我有一张表saleorder_master 中有一个bill_date 为date类型的字段,有人做了一笔记录,我用sql读出来:
SELECT to_char(saleorder_master.bill_date, 'yyyy/mm/dd'),saleorder_master.bill_date from saleorder_master WHERE BILl_NO = 'SO10090196'
显示:0000/00/00 2010/9/4
不知道为什么不能转化,我用saleorder_master.bill_date between d1 and d2发现它不属于任何日期。
能到是输入了全角数字吗?像各位大侠请教。update saleorder_master set bill_date = to_date('2010/09/04','YYYY/MM/DD') where BILl_NO = 'SO10090196'
就可以了。
SELECT to_char(saleorder_master.bill_date, 'yyyy/mm/dd'),saleorder_master.bill_date from saleorder_master WHERE BILl_NO = 'SO10090196'显示:2010/09/04 2010/9/4
中,我有一张表saleorder_master 中有一个bill_date 为date类型的字段,有人做了一笔记录,我用sql读出来:
SELECT to_char(saleorder_master.bill_date, 'yyyy/mm/dd'),saleorder_master.bill_date from saleorder_master WHERE BILl_NO = 'SO10090196'
显示:0000/00/00 2010/9/4
不知道为什么不能转化,我用saleorder_master.bill_date between d1 and d2发现它不属于任何日期。
能到是输入了全角数字吗?像各位大侠请教。update saleorder_master set bill_date = to_date('2010/09/04','YYYY/MM/DD') where BILl_NO = 'SO10090196'
就可以了。
SELECT to_char(saleorder_master.bill_date, 'yyyy/mm/dd'),saleorder_master.bill_date from saleorder_master WHERE BILl_NO = 'SO10090196'显示:2010/09/04 2010/9/4
null你to_char还是null,所以只显示你selelct 列表里的第二个字段.
显示:0000/00/00 2010/9/4
update之前不是null
这样有数据没
to_char(nvl(saleorder_master.bill_date,sysdate), 'yyyy/mm/dd'),
显示:0000/00/00 2010/9/4都贴了,更新之前的,请大家看清楚上面的语句啊,后面一个就 saleorder_master.bill_date 啊,显示
2010/9/4,都没有几个人看到。
update saleorder_master set bill_date = to_date('2010/09/04','YYYY/MM/DD') where BILl_NO = 'SO10090196'
做更新之后显示正常:
SELECT to_char(saleorder_master.bill_date, 'yyyy/mm/dd'),saleorder_master.bill_date from saleorder_master WHERE BILl_NO = 'SO10090196'显示:2010/09/04 2010/9/4
你在oracle 自带的sql*plus试下看