Wypłenianie nowej kolumny na podstawie kolumny obok

0

Cześć. Mam taki problem, że potrzebuję utworzyć nową kolumnę z nazwami dni po polsku na podstawię dat w kolumnie obok. Utworzyłem już kolumnę, jednak nie mam pojęcia jak ją uzupełnić.

Pytanie drugie. W podstawowej składni mysql i oracle bardzo się różni ?

1

coś takiego powinno zadziałać:


UPDATE Tabela SET NowaKolumna = FunkcjaDataSlownie(KolumnaZData)

1

W MS SQL np. mógłbyś użyć taką funkcję do konwertowania daty do słownej postaci

DATEPART (Transact-SQL)

https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-ver15

Poszukaj w dokumentacji do bazy której Ty używasz.

w przypadku MySQL jeżeli chcesz dzień słownie z daty to powino to Ci zadziałać:

DAY(date)

0

Udało się :D Jedyny minus, że mam angielskie nazwy. Wiesz może jak to zmienić ?

1

Coś takiego bym napisał na szybko:

UPDATE Tabela SET NowaKolumna = (select 
									CASE 
									WHEN NowaKolumna like 'Monday' THEN 'Poniedziałek'
                                    WHEN NowaKolumna like 'Tuesday' THEN 'Wtorek'
                                    ITP

									END Nazwa2
									from Tabela  )
0

W przypadku jak budujesz CASE, to nie masz potem nazwy kolumny, więc na końcu dodaje się jakąs nazwę np. "Nazwa2"

I tutaj jest różnica w składni ms-sql vs MySQL, właśnie widzę że w dokumentacji nie trzeba nazywać CASE,

w MySQL powinno być tak:

UPDATE Tabela SET NowaKolumna = (select 
                                    CASE 
                                    WHEN NowaKolumna like 'Monday' THEN 'Poniedziałek'
                                    WHEN NowaKolumna like 'Tuesday' THEN 'Wtorek'
                                    ITP

                                    END
                                    from Tabela  )
4

zamiast najpierw pobierać angielskie nazwy dni tygodnia a potem je zamieniać to pobierz numer dnia i na jego podstawie od razu ustaw poprawną nazwę (będzie JEDEN update a nie dwa).
BTW takich rzeczy się nie zapisuje do bazy tylko wyciąga zapytaniem

1 użytkowników online, w tym zalogowanych: 0, gości: 1