Tech, software & more

Программирование => БД (SQL и пр.) => Тема начата: nlive от 10 Июнь 2012, 10:21:38

Название: Некоторые полезные приемы в SQL
Отправлено: nlive от 10 Июнь 2012, 10:21:38
Q: Перенос данных из одной таблицы в другую по условию . Как сделать ?

A: Очень просто:
Код: sql
update table1,table2 set table1.field=table2.some_field where table1.id=table2.id

Q: Как пронумеровать столбец по порядку в mysql

A:
Код: sql
SET @rownum=0; 
 UPDATE [table] t, (SELECT @rownum:=@rownum+1 rownum, [table].* FROM [table]) r
 SET t.[field] = r.rownum
 WHERE (t.[primary_key] = r.[primary_key])
Название: Некоторые полезные приемы в SQL
Отправлено: crazy_man от 05 Апрель 2018, 16:35:40
Преобразование даты Oracle в формат datetime в mysql (для импорта табличек)
Код: sql
select to_char(t2.cust_date, \'yyyy-mm-dd hh24:Mi:SS\') from table2 t2
Название: Некоторые полезные приемы в SQL
Отправлено: crazy_man от 05 Апрель 2018, 16:39:23
Отбросить время у даты (mysql), т.е.
2016-08-31 17:11:16 => 2016-08-31 00:00:00

Код: sql
select m.CUST_DATE,cast(FROM_DAYS(TO_DAYS(m.CUST_DATE)) as datetime) from test.tdc_20180504  m

Отбросить время у даты (oracle)
Код: sql
select t2.cust_date, to_char(trunc(t2.cust_date), \'dd.mm.yyyy hh24:Mi:SS\') from test.tdc_20180504 t2, 

где:
to_char(trunc(t2.cust_date), \'dd.mm.yyyy hh24:Mi:SS\') - вернёт дату в varchar
trunc(t2.cust_date) - вернет обрезанную дату (без времени) в формате date
Название: Некоторые полезные приемы в SQL
Отправлено: crazy_man от 03 Май 2018, 14:59:03
-- узнать дату создания таблички в Oracle
select created from dba_objects where owner=upper(\'...\') and object_name=upper(\'....\') and object_type=\'TABLE\';