Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 вопрос по синтаксису  [new]
Hel975
Member

Откуда: Москва
Сообщений: 1052
Мне нужно написать конструкцию на оракле, которая на MS SQL выглядит так:

1. CAST(DATEPART(mm, RECTIME) as varchar(2)) + '\' + CAST(DATEPART(yy, RECTIME) as varchar(4)) as ReportDate
2. CONVERT(varchar(10), RECTIME, 101) as ReportDate

Я написала, но не уверена, что правильно. Оракла под рукой нету, и доступа в инет тоже нету.

1. to_char(trunc(RECTIME, 'MM')) || to_char(trunc(RECTIME, 'YYYY')) as ReportDate
2. to_char(RECTIME, 'mm/dd/yyyy') as ReportDate

Правильно написала?
12 дек 08, 17:47    [6564926]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18337
Hel975
1. to_char(trunc(RECTIME, 'MM')) || to_char(trunc(RECTIME, 'YYYY')) as ReportDate

Лучше
to_char(RECTIME,'MM\RR') as ReportDate
12 дек 08, 17:53    [6564947]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
Hel975
Member

Откуда: Москва
Сообщений: 1052
andrey_anonymous,

RR - это год? Но как я указала тоже можно?
12 дек 08, 17:56    [6564970]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
zhal
Member

Откуда: Киев-Харьков
Сообщений: 647
Hel975
Мне нужно написать конструкцию на оракле, которая на MS SQL выглядит так:

1. CAST(DATEPART(mm, RECTIME) as varchar(2)) + '\' + CAST(DATEPART(yy, RECTIME) as varchar(4)) as ReportDate
2. CONVERT(varchar(10), RECTIME, 101) as ReportDate

Я написала, но не уверена, что правильно. Оракла под рукой нету, и доступа в инет тоже нету.

1. to_char(trunc(RECTIME, 'MM')) || to_char(trunc(RECTIME, 'YYYY')) as ReportDate
2. to_char(RECTIME, 'mm/dd/yyyy') as ReportDate

Правильно написала?


Вы бы лучше ожидаемый результат показали ;) Не все здесь часто работают с MSSQL

А вот это + '\' + о чем говорит?

1. to_char(RECTIME,'mmyy') или to_char(RECTIME,'mm\yy') или to_char(RECTIME,'mmyyуу') - эт как вам нужно. Не знаю ожидаемого результата.
2. Правильно, если Вы хотите получить строку со значением, например, вчерашней даты 11.12.2008
12 дек 08, 18:00    [6564985]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
Hel975
Member

Откуда: Москва
Сообщений: 1052
Сорри,

Мне нужно в обоих случаях получить СТРОКУ.

1. вида 'MM\YYYY', т.е. если в RECTIME дата и время 25.01.2008 10:34:00, то получаем строку '01\2008'
2. тут просто дату в строке '01/25/2008'.
12 дек 08, 18:04    [6565010]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
Hel975
Member

Откуда: Москва
Сообщений: 1052
zhal,

а можно написать to_char(RECTIME,'mm\yyyy')? нужно чтобы в годе было 4 цифры.
12 дек 08, 18:05    [6565015]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
zhal
Member

Откуда: Киев-Харьков
Сообщений: 647
Hel975
zhal,

а можно написать to_char(RECTIME,'mm\yyyy')? нужно чтобы в годе было 4 цифры.


Легко
SELECT to_char(SYSDATE,'mm\yyyy') FROM dual;
12\2008
12 дек 08, 18:06    [6565021]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по синтаксису  [new]
Hel975
Member

Откуда: Москва
Сообщений: 1052
zhal,

спасибо!
12 дек 08, 18:07    [6565024]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить