2016-03-30 6 views
1

Okay, also sage ich die CONCAT-Funktion, richtig?Rückgabe der richtigen Werte mit der CONCAT-Funktion

Also habe ich ein Datum in einem Feld namens start_date. Es sieht wie 2016-02-07 aus.

Als nächstes habe ich das getan, um MONTH (start_date) AS start_month und YEAR (start_date) als start_year zu tun. Offensichtlich würde start_month 02 zurückgeben und start_year returns 2016.

Jetzt sagen wir, dass ich diese beiden kombinieren wollte, so sagt es 02/2016. Wenn ich es einfach mache:

CONCAT ('start_month', '/', 'start_year') es gibt start_month/start_year zurück und wenn ich CONCAT (start_month, '/', start_year) mache, gibt es Fehler: CONCAT: The 1st Das Argument hat den Typ int64, aber den erwarteten Typ string oder bytes.

Also was mache ich falsch und wie behebe ich das? Gibt es außerdem eine einfache Möglichkeit, die numerischen Monate in ihre tatsächlichen Namen umzuwandeln (d. H. 02 wird Februar)? Wenn es keinen leichten Weg gibt, ist das keine große Sache.

Antwort

2

from question: Obviously, start_month would return 02 and start_year returns 2016.

Nein - sie werden zurückkehren 2 und 2016 respectivelly und als ganze Zahlen nicht als Strings - siehe mehr auf MONTH() und/oder Date and time functions

So sollten Sie werfen Monat und Jahr Werte STRING

Für Beispiel
CONCAT (STRING (start_month), '/', STRING (start_year))

The better way to do this is as below

SELECT STRFTIME_UTC_USEC('2016-02-07', "%m-%Y") 

siehe here für weitere Details

is there an easy way I can convert the numerical months to their actual names (i.e. 02 becomes February)?

SELECT STRFTIME_UTC_USEC('2016-02-07', "%B") 
+0

Wichtige auf SO - Sie können 'Markierung mithilfe der Zecke auf der linken Seite der entsandten Antwort unterhalb der Abstimmung angenommen answer'. Siehe http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235 warum dies wichtig ist! Es ist auch wichtig, über die Antwort zu stimmen. Stimmen Sie Antworten ab, die hilfreich sind. Es gibt mehr ... Sie können überprüfen, was zu tun ist, wenn jemand Ihre Frage beantwortet - http://stackoverflow.com/help/someone-answers. –

Verwandte Themen