1

Тема: Некоторые полезные приемы в SQL

Q: Перенос данных из одной таблицы в другую по условию . Как сделать ?

A: Очень просто:

UPDATE table1,table2 SET table1.FIELD=table2.some_field WHERE table1.id=table2.id

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

A:

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])

2 (05 Apr 2018 17:40:14 отредактировано crazy_man)

Re: Некоторые полезные приемы в SQL

Преобразование даты Oracle в формат datetime в mysql (для импорта табличек)

SELECT to_char(t2.cust_date, 'yyyy-mm-dd hh24:Mi:SS') FROM table2 t2

3 (05 Apr 2018 18:13:28 отредактировано crazy_man)

Re: Некоторые полезные приемы в SQL

Отбросить время у даты (mysql), т.е.
2016-08-31 17:11:16 => 2016-08-31 00:00:00

SELECT m.CUST_DATE,cast(FROM_DAYS(TO_DAYS(m.CUST_DATE)) AS datetime) FROM test.tdc_20180504  m

Отбросить время у даты (oracle)

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

4

Re: Некоторые полезные приемы в SQL

-- узнать дату создания таблички в Oracle
select created from dba_objects where owner=upper('...') and object_name=upper('....') and object_type='TABLE';