将年份间隔转换为“mm / yy”格式

时间:2017-06-26 07:59:11

标签: sql database intervals

你好,我需要一些帮助。我需要将年份间隔转换为mm / yy格式。例如:'1年零6个月'。 这是我的代码,我是sql的新手,我对它不是很熟悉

*SELECT DECODE(pd.LANGUAGE_ID, 'US', pd.TRANSLATED_NAME)PRODUCT_NAME_US,
       DECODE(pd.LANGUAGE_ID, 'US', SUBSTR(pd.TRANSLATED_DESCRIPTION, 1, 30), '...') PRODUCT_DESC_NAME,
       DECODE(pd.LANGUAGE_ID, 'RU', pd.TRANSLATED_NAME)PRODUCT_NAME_RU,
       DECODE(pd.LANGUAGE_ID, 'RU', SUBSTR(pd.TRANSLATED_DESCRIPTION, 1, 30), '...')PRODUCT_DES_RU,
       pin.WARRANTY_PERIOD AS Warranty, inv.QUANTITY_ON_HAND AS IN_STOCK
FROM PRODUCT_DESCRIPTIONS pd JOIN PRODUCT_INFORMATION pin
ON pd.PRODUCT_ID = pin.PRODUCT_ID
JOIN INVENTORIES inv
ON pd.PRODUCT_ID = inv.PRODUCT_ID
WHERE pd.TRANSLATED_NAME LIKE '%Monitor%'
AND pin.WARRANTY_PERIOD IN (SELECT CASE WHEN WARRANTY_PERIOD IN '0' THEN 'No Warranty'
                                        WHEN TO_NUMBER(WARRANTY_PERIOD) > 0 THEN 'fmYYYY "years and" Month'
                                        WHEN WARRANTY_PERIOD = 'YYYY' THEN 'fmYYYY "years"'
                                        WHEN TO_NUMBER(WARRANTY_PERIOD) < 12 THEN 'fmMonth'
                                        ELSE 'WARRANTY_PERIOD'
                                   END WARRANTY
                            FROM PRODUCT_INFORMATION)
AND inv.QUANTITY_ON_HAND < 1000
ORDER BY pin.WARRANTY_PERIOD DESC, pin.PRODUCT_NAME ASC;* 

首先检查0是否为“无保修”。第二个它是&gt; 0然后'年和'。第三个,如果月数=年数,那么'年'。最后一个:它&lt; 12然后'月'。

我需要用英语(美国)和俄语(RU)显示产品名称,如果描述超过30个字符,我需要将其减去30个字符并最后添加“...”。

0 个答案:

没有答案