The default is month. For example, if you want to add 2 days, then the value is 2. Apr 6, 2021 · 1. The value can be a string literal or can be unquoted (e. Can anybody help how can we pass dynamic dates in snowflake View/Table. The convert should get you to UTC, regardless of what timezone your Snowflake instance is set to by default. VALUES (2020102),(2019134)) ; Jun 16, 2021 · This is generally what we use though: CONVERT_TIMEZONE('UTC', current_timestamp())::timestamp_ntz. About 201 mi ENE of Snowflake. Aug 12, 2020 · 0. Get Snowflake's weather and area codes, time zone and DST. Here's a simple example: COPY INTO @~/test. The default is the current value of the following session parameters: WITH credits_by_day AS (SELECT TO_DATE (start_time) AS date, SUM (credits_used) AS credits_used FROM snowflake. I'm trying to build a query that would get me only the results with a created date from the last full week. DATE_TRUNC('QUARTER',d) as q, DATEDIFF('day',q, d) as doq. For example, if you want to add 2 days, this is 2. Then you can apply your DATEDIFF as you please. The following functions are those Set the time output format to HH24:MI:SS. materialized_view_refresh_history WHERE start_time >= DATEADD (year,-1, CURRENT_TIMESTAMP ()) GROUP BY 1 ORDER BY 2 DESC) SELECT DATE_TRUNC ('week', date), AVG (credits_used) AS avg_daily_credits FROM credits_by_day The unit of time. Reference Function and stored procedure reference Semi-structured and structured data AS_DATE Categories: Semi-structured and structured data functions (Cast) AS_DATE¶ Casts a VARIANT value to a date. This should be an integer. See EXTRACT for an example. CONCAT , ||. While you cannot change the default value in this case, you can create a new table with columns having the default you need. This means it rounds down the given input to the specified precision level, effectively removing the more granular parts of the date or time value. Nov 17, 2021 · So it doesn't give the actual current Unix timestamp which has no timezone info associated with it. Simon D. ALTER SESSION SET WEEK_OF_YEAR_POLICY = 1; SELECT '2016-01-02T23:39:20. Jan 1, 2022 · TO_DATE() function accepts string/varchar format date and converts to Date Data type. This argument must evaluate to a date, time, or timestamp. Oct 29, 2019 · 3. The following article can be a small cheat sheet for you, if you work a lot with Snowflake or are just learning. This allows, for example, choosing the N-th day in a year, which can be used to simplify some computations. The default is the current value of the DATE_INPUT_FORMAT session parameter (default AUTO). months 1-12, days 1-31), but it also handles values from outside these ranges. Usage notes¶ date_part ( Optional) is the date part for which the last day is returned. 098 you want 2023-10-18. FROM VALUES. (SELECT $1 FROM. Jun 28, 2022 · 1. For more information about the values this parameter can have, see SQL format models. For date_or_time_expr, specifies the expected format to parse or produce a string. Here's an example that adds the current date into the table-name: In Snowflake I'm attempting to run a while loop where there is a start date, and the code will loop until it equals today's date. Dec 22, 2021 · I want to create Calendar Table in Snowflake which has start and end date as dynamic dates. The reason I like to do it this way, is because its flexible enough that I can add weekly, hourly, or monthly intervals between the dates and reuse the code. SELECT DATEDIFF(DAY, '2023-01-01', '2024-01-01') AS DAY_DIFF; /** Returns 365 **/. WHERE order_date >= ‘2023-01-01’. The unit of time. しかし、 TIME 情報は切り捨てられます。 DATE と TIMESTAMP のデータの場合、Snowflakeは、1582と9999の間の年を使用することをお勧めします。Snowflakeは、この範囲外の数年を受け入れますが、 グレゴリオ暦の制限 のため、1582より前の年は避ける必要があります。 Oct 25, 2023 · Adding current date in create script for Snowflake. FROM. $1 AS before_datetime, $2 AS after_datetime. account_usage. is there any function which can show that. | YYYYMMDD |. This is the number of units of time that you want to add. TIME supports an optional precision parameter for fractional seconds, e. Albuquerque International Sunport, ABQ. First idea was in the while loop check if the variable date was less than the current date. This is the date, time, or timestamp to which you want to add. 2. Start Date & End Date should be Min & Max dates of Sales Fact Table. Create and load the table: CREATE OR REPLACE TABLE vardttm (v VARIANT); INSERT INTO vardttm SELECT TO_VARIANT(TO_DATE('2024-02-24')); INSERT INTO vardttm SELECT TO_VARIANT(TO_TIME Also, I am trying to convert a string to a date format which is not returning correct results in Snowflake while this works fine in other SQL based Engines. The value date_or_time_expr1 is subtracted from date_or_time_expr2. For this, I would need to recreate a table with the same DDL but a different column definition for the timestamp column and then move the data from the original table to this table which I don't want to do. For more information, see Date and time formats in conversion functions . Explore Snowflake's sunrise and sunset, moonrise and moonset. Returns¶ The returned value is the same type as the input value. In a Snowflake Scripting block, call the CURRENT_DATE function without parentheses to set a variable in a SQL statement: EXECUTE IMMEDIATE $$ DECLARE currdate DATE ; BEGIN SELECT CURRENT_DATE INTO currdate ; RETURN currdate ; END ; $$ ; The `DATE_TRUNC` function truncates a date, time, or timestamp to the first instance of a given date part, such as year, month, day, hour, minute, etc. select cast (date_trunc('day',max(my_timestamp)) as date) from my_table. The functions TO_DECIMAL , TO_NUMBER , TO_NUMERIC, and TO_DOUBLE accept an optional parameter that specifies the format of the input string, if the input expression evaluates to a string. Oct 26, 2021 · 2. Add month to current date and convert it to integer format in Snowflake. For example, truncating a timestamp to the Show all DATE values in a VARIANT column. TIMESTAMP_LTZ_OUTPUT_FORMAT. e. This is the date or timestamp expression to which you want to add a specified number of months. SELECT DATEADD(day, 10, current_date) FROM table; SELECT DATEDIFF(day, '2023-01-01', current_date) FROM table; TRY_TO_DATE Each time the persisted result for a query is reused, Snowflake resets the 24-hour retention period for the result, up to a maximum of 31 days from the date and time that the query was first executed. now() print(ct) 2021-04-30 21:54:41. When both a specific day of month and day of week are included in the cron expression, then the task is scheduled on days satisfying either the day of month or day of week. Current local time in USA – Arizona – Snowflake. Current best Snowflake query. Snowflake doesn't currently support the Julian date format, but you can use an expression to convert it to a date. Ismail Sajjad. Need help from experts on this. COPY doesn't support all functions yet, but you can do it using an INSERT+SELECT from stage. If the input data type is DATE, and the date_or_time_part is hours or Incrementing date and time values. . SELECT * FROM final WHERE order_date BETWEEN DATEADD(‘year’, -2, current_date) AND current_date Dec 26, 2023 · FROM sales. TIMESTAMP_NTZ_OUTPUT_FORMAT. ); Jan 1, 2020 · The fact that the function returns an integer number of months both when the days of the month are the same (e. WHERE (CREATED_AT::DATE BETWEEN Sep 11, 2017 · Unfortunately, the naive approach with the DATEDIFF () function doesn't quite cut it here - using DATEDIFF ('year', birthday, current_date) nets the difference between the current year and the birthday year, which could be a very inaccurate representation of the time between the two dates. Apr 18, 2020 · Master date and time queries in Snowflake with our comprehensive guide. I am trying to create a table and insert the current date and time from a front end and getting an error, any help appreciated. date_or_time_expr1, date_or_time_expr2. TIME Feb 15, 2023 · The field has a date value in this format : 20230215 : YYYYMMDD I want to select only those records where date is a date in last 7 days. These functions are used for adding to or subtracting from a date, and for calculating the difference between dates, respectively. Must be a date, a time, a timestamp, or an expression that can be evaluated to a date, a time, or a timestamp. I only get nulls for the prior year date and amount. Add two years to the current date: SELECT DATEADD(year, 2, current_date()); Add two days to the current date: SELECT DATEADD(day,2,current_date()); Add two hours to the current date and time: SELECT DATEADD(hour,2,current_timestamp()); Add two minutes to the current date and time: To control the output format, use the session parameter TIMESTAMP_NTZ_OUTPUT_FORMAT. Feb 9, 2022 · I am using an sql script to parse a json into a snowflake table using dbt. date_or_time_expr. Ask Question Asked 4 years ago. For example, create a tmp_table with the same structure and for the created_date column, use this: CREATED_DATE TIMESTAMP_NTZ(9) DEFAULT CAST(CURRENT_TIMESTAMP() AS TIMESTAMP_NTZ(9)), CURRENT_TIMESTAMP は括弧なしで呼び出すことができるのに対し、この関数には、括弧( SYSDATE() )が必要です。. 123-07:00 参照情報 関数およびストアドプロシージャリファレンス コンテキスト current_date カテゴリ: コンテキスト関数 (一般) current_date¶. SELECT '20200710', TO_DATE('20200710'); is returning the following output. Its return value is TIMESTAMP_NTZ, whereas CURRENT_TIMESTAMP returns TIMESTAMP_LTZ. Thanks Simon, i have used it but it is loading extra -000 at the end of value, i need to load in this Complementary Date and Time Functions in Snowflake DATEADD and DATEDIFF. Must be one of the values listed in Supported date and time parts (e. Even I want to do the same but I don't want to lose the data in the table. cursor(). See also: The function returns the start or end of the slice that contains this date or time. 999999999. SELECT. The output format for date values is set using the DATE_OUTPUT_FORMAT parameter. TIME : You can use time type to store hour, minute, second, fraction with (includes 6 decimal positions). For more information, see Date and time formats in conversion functions. Nov 18, 2022 · The Snowflake Date format includes four data types, and are used to store the date, time with timestamp details: DATE : You can use the date type to store year, month, day. The expression must be of type DATE or TIMESTAMP_NTZ. For that we need to pass existing String date type format to parse. Possible values are year, quarter, month, or week (or any of their supported variations). 1. If the value is a non-integer numeric value (for example, FLOAT) the value will be rounded to Output formats. TIME(3). Snowflake attempts to run a task based on this schedule; however, any valid run time is skipped if a previous run hasn’t completed before the next valid run time starts. Default: The current value of the TIME_INPUT_FORMAT session parameter (default AUTO) Returns¶ The data type of the returned value is TIME. answered Oct 18, 2023 at 11:20. Sep 12, 2023 · SELECT TO_VARCHAR (CURRENT_TIMESTAMP (), 'YYYY-MM-DD HH24:MI:SS'); Converting a String to a Date and Changing its Format. TIME_OUTPUT_FORMAT. A table can have multiple columns, with each column definition consisting of a name, data type, and optionally whether the column: Requires a value (NOT NULL). one of the easy way to convert timestamp into date in snowflake is If you have created_date = 2023-10-18 08:36:59. For Example if this is the table ID Current_Month Current_Value 10 4 5678 10 5 1234 10 6 9876 Now I want like this ID Apr 30, 2021 · ctx. In Oracle, SYSDATE function returns the current date and time including seconds but without the fraction: Oracle: -- Set default DATE format to show the time part ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; -- Get the current date and time SELECT SYSDATE FROM dual Sep 15, 2020 · 1. If a non-integer decimal expression is input, the scale of the result is inherited. Example: Convert a date in the format DD/MM/YYYY to MM-DD-YYYY. Snowflake TO_DATE or DATE not returning expected output from Stored Procedure. The default precision is 9. Does not convert from timestamps. Specifies the input date; can be a date or timestamp. The DATE data type stores only the date portion of a timestamp, while the TIMESTAMP data type stores both the date and time portions. | 20191211 |. In addition, the following parameter maps the TIMESTAMP data type alias to one of the three date_or_time_part. See also: AS_<object_type> Syntax¶ Date format specifier for string_expr or AUTO, which specifies that Snowflake should automatically detect the format to use. Sep 23, 2019 · In certain environments like Mode Analytics, casting to date like some of the other answers mention still displays a 00:00:00 on the end. クエリは異なるコンピューティングリソース(ウェアハウス内)によって処理さ Dec 24, 2023 · 5. Has any referential integrity constraints Time format specifier for string_expr or AUTO, which specifies that Snowflake automatically detects the format to use. how many units of time are contained in the slice). If any of the values is null, the result is also null. Lukasz's second solution using DATE_PART is the one you are after: SELECT DATE_PART (epoch_second, CURRENT_DATE); It returns the epoch timestamp, which does not have timezone value. If the data type is TIME, then the date_or_time_part must be in units of hours or smaller, not days or bigger. Nov 18, 2022 · select to_char(add_months(current_date, -1), 'YYYYMMDD') as int; +----------+. I hope it will help. There are several ways to approach this, but here's the way I do it with SQL Generator function Datespine_Groups. When date_part is week (or any of its variations), the output is controlled by the WEEK_START session parameter. I tried with this, but this is the last 7 days, without considering week end or start. WITH cte AS (. The following parameters define the formats for date and time output from Snowflake: DATE_OUTPUT_FORMAT. date_or_time_expr must evaluate to a date, time, or timestamp. 20200710 | 1970-08-22. From fetching the current timestamp to calculating date differences, we've got you covered. It requires parentheses ( SYSDATE() ), whereas May 28, 2021 · You can get the date 'n' number of days/month/year from the current date as follows: Date 5 year from today; Adding current date in create script for Snowflake. The value can be a string literal or an expression that returns a string. Dec 3, 2019 · I want to show the timezone in snowflake like "US/Pacific" or "GMT". time1 TIMESTAMP NOT NULL, time2 TIMESTAMP_LTZ NOT NULL, time3 TIMESTAMP_NTZ NOT NULL. LOAD_timestamp VALUES (Current_Timestamp) answered Apr 6, 2021 at 13:48. Dec 13, 2021 · I think you want to use TO_DATE here along with LEFT: SELECT TO_DATE(LEFT(timestamp, 10), 'YYYY-MM-DD') AS modified_ts. This is the number of months you want to add. Has a default value. +----------+. For details, see Supported date and time parts. For example, if the input value is a TIMESTAMP, then the returned value is a TIMESTAMP. cast (CREATED_DT AS Date) it will returns you only date. Although we and our data are located in CET Timezone, it seems that Snowflake is using different timezones date_or_time_part. A date to be converted into a timestamp. snowflake-cloud-data-platform Numeric formats in conversion functions. The default setting is YYYY-MM-DD. To comply with the ANSI standard, this function can be called without parentheses in SQL statements. slice_length. The closest I've come is FLOOR (DATEDIFF ('day Reference Function and stored procedure reference Conditional expression [NOT] BETWEEN Categories: Conditional expression functions [ NOT ] BETWEEN¶. FROM yourTable; Note that if you don't require a bona fide date, but rather just a date string, then LEFT(timestamp, 10) alone should suffice. Time precision can range from 0 (seconds) to 9 (nanoseconds). TIMESTAMP_OUTPUT_FORMAT. . To return the full name for the day of the week instead of the three-letter day-of-week name, you can use the EXTRACT function, the DECODE function, and the dayofweek part. from ((. The current_timestamp function already returns a timestamp so you don't need to do anything to it. If you have a date in a string format and need to change its format, you can first convert it to a date or timestamp, and then change its format. Returns¶ Returns an integer representing the number of units (seconds, days, etc. |----------|. The Snowflake SQL between dates function is a powerful tool that can be used to filter data for a specific date range or to compare two dates to see if they fall within a specified range. 000 and I'm trying to create a column that will show only the year, another one the month and one that shows the month as a string May 19, 2023 · I need to calculate Previous Month value for a current month in snowflake. FF, then return the current time with fractional seconds precision first set to 2, then 4, and then the default (9): ALTER SESSION SET TIME_OUTPUT_FORMAT = 'HH24:MI:SS. Creates a new table in the current/specified schema, replaces an existing table, or alters an existing table. This argument must be one of the values listed in Supported date and time parts. Apr 12, 2021 · 2. The parameter group bounds changes the way the join happens in a subtle Nov 14, 2019 · 1. I'm fairly new to snowflake itself. The session parameter WEEK_OF_YEAR_POLICY is set to indicate that the first week of the year is the week that contains January 1st of that year. Equivalent Redshift query. Asking for help, clarification, or responding to other answers. A number of seconds (if scale = 0 or is absent) or fractions of a second (e. February 28 and March 28) and when the days of the month are the last day of the month (e. select. For example, if the unit is MONTH and the slice_length is 2, then each slice is 2 months wide. TO_DATE(O. February 28 and March 31) can lead to unintuitive behavior; specifically, increasing the first date in the pair does not always increase the output value. What's the correct way to define ISO datetime's data type in Snowflake? I tried date, timestamp and TIMESTAMP_NTZ like this in my dbt sql script: JSON_DATA:",my_date"::TIMESTAMP_NTZ AS MY_DATE Jan 1, 2021 · In snowflake, you can use the QUALIFY clause to filter window functions post window aggregation. CREATEDATE) The Snowflake documentation on this SQL function appears to explain how the datadd simply changes the date. システムの現在の日付を返します。 構文¶ Jun 22, 2021 · It failed with below message [FATAL] The Snowflake Connector failed to initialize the read operation because of the following error: JavaScript compilation error: Uncaught SyntaxError: Unexpected identifier in PROC_XXGSI_AR_ACCOUNT_DETAILS_V at 'var cmd1= DELETE FROM xxgsi_ar_account_details_v WHERE "invoice date" >= DATEADD(Day ,-30, current This is the date, time, or timestamp to which you want to add. So, for example, if today is Monday 2021-06-28, I only want the results from Monday 2021-06-21 to Sunday 2021-06-27. DAYNAME. Is there a way to achieve this in Snowflake with date format The following demonstrates the use of the functions WEEK, WEEKISO, WEEKOFYEAR, YEAROFWEEK, and YEAROFWEEKISO. I have a table in Snowflake where i am trying to pull for instance an entry date and the total amount of that day and also get the same entry date but for prior year and the total amount for that prior year. g. Apr 7, 2022 · How to get this date format in Snowflake? "day; YYYY/MM/DD; HH:MM AM - HH:MM AM" format in snowflake Tried these logic: select current_date() ,to_char(DAY() , 'MMMM date_or_time_expr. If this is the case and you are only using the date for display purposes, you can take your truncated date and cast it to varchar instead like this: '2019-09-23 12:33:25'::date::varchar CREATE TABLE. month). Specifies the day of week used to calculate the date for the previous day. FF'; SELECT CURRENT_TIME(2); Sep 15, 2009 · TIME¶ Snowflake supports a single TIME data type for storing times in the form of HH:MI:SS. The string must start with the first two characters (case-insensitive) of the day name: SHOW TABLES. Any way of getting the full month name with the MONTHNAME command? When I execute below, I get Jan, but I want January. Returns¶ The data type of the returned value is DATE. The command can be used to list tables for the current/specified database or schema, or across your entire account. Provide details and share your research! But avoid …. Working with Timestamp Data in Snowflake. datetime. Something like select current_timezone. It is a versatile function that can be used in a variety of scenarios. Nov 7, 2018 · Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question. It returns the current timestamp in the UTC time zone, whereas CURRENT_TIMESTAMP returns the timestamp in the local time zone. date_or_time_expr1 and date_or_time_expr2 can be a date, time Oct 24, 2019 · How would I pull the last twelve months of records without using Between? I've attempted variations of the following in my where clause : DATEADD(YEAR,-12,O. After 31 days, the result is purged and the next time the query is submitted, a new result is generated and persisted. For example, if you want to add 2 days to August 1, 2018, then this will be '2018-08-01'::DATE. milliseconds or nanoseconds) since the start of the Unix epoch (1970-01-01 00:00:00 UTC). This is what I have so far, but in reality I am using it for a temporary table in my query. Here the value of ct is defined as; import datetime. Just insert it like this: INSERT INTO CDW_DB. If you call this function in the body of a masking or row access policy, in the handler code of a UDF, or in the definition of a view, the function returns the following: In a policy, the function returns the database or schema that contains the table or view that is protected by the policy. I have the following table and insert statement. ct = datetime. The || operator provides alternative syntax for CONCAT and requires at least two arguments. So, the query would look like this: SELECT clientid, COUNT(DISTINCT visitno) OVER(PARTITION BY clientid) as totalvisits FROM <your_table> WHERE visitdate >= 2021-01-01::date AND visitdate < 2022-01-01::date QUALIFY totalvisits < 10; Apr 21, 2022 · For more information, see Oracle to Snowflake Migration . The display format for times in the output is determined by the TIME_OUTPUT_FORMAT session parameter (default HH24:MI:SS ). The values to compare. Concatenates one or more strings, or concatenates one or more binary values. This indicates the width of the slice (i. 676406. The string must start with the first two characters (case-insensitive) of the day name: Jul 27, 2021 · His requirement is to default the value for the timestamp column. Returns TRUE when the input expression (numeric or string) is within the specified lower and upper boundary. DATE_FROM_PARTS is typically used to handle values in “normal” ranges (e. This query. Snowflake supports two data types for storing timestamp data: DATE and TIMESTAMP. Usage notes¶ Output values can be negative, for example, -12 days. You can use TRY_TO_TIMESTAMP function which will parse your input as a timestamp and returns NULL if parse fails. We are facing currently two issues: issue 1 (Screenshot 1) issue2: When comparing timestamps in our databases to CURRENT_TIMESTAMP Snowflake returns weird results. Behaviour of functions CURRENT_TIMESTAMP, CURRENT_TIME and CURRENT_DATE. execute(insert_query) Just before this query the variables are defined, The main challenge is getting the current time stamp written into snowflake. 小数秒の精度を指定するパラメーターはサポートされていません。. In a UDF, the function returns the database or schema Usage notes. All TIME values must be between 00:00:00 and 23:59:59. However, if you are setting a Snowflake Scripting variable to an expression that calls the function (for example, my_var Jul 28, 2022 · For this year the results would come from 01-01-2020 to today’s date. Also tried: SELECT TO_DATE('20200710', 'YYYY-MM Sep 3, 2019 · My org is in the process of transitioning from Redshift to Snowflake and I would like to ask if there is a neater way of truncating a timestamp field to extract just the date out of it as I would do it in Redshift. ) difference between date_or_time_expr2 and date_or_time_expr1. CREATE OR REPLACE TABLE SA_CATALOG_COMMENTS (. How to Calculate the Number of Days Between Two Dates in Snowflake? The following examples calculate the number of days using the DATEDIFF function between two dates, 1st JAN 2023 and 1st JAN 2024. SQL: select *. It is the number of seconds since January 1st, 1970 at UTC. The output returns table metadata and properties May 27, 2021 · I have a table with a column called created_date that has date like 2020-01-01 00:00:00. answered Jul 3, 2022 at 4:18. Extracts the three-letter day-of-week name from the specified date or timestamp. TIMESTAMP_TZ_OUTPUT_FORMAT. num_months_expr. One of the cols contain this datetime value: '2022-02-09T20:28:59+0000'. And the timestamp_ntz (no time zone) is the timestamp without any timezone information, which works well if you know it's always going to Jan 14, 2020 · When i do SELECT current_date() i get the date format as : 2020-01-14. When date_or_time_part is week (or any of its variations), the output is controlled by the WEEK_START session parameter. 2). [Edit:] After re-reading your goal of a 20 year table, here is some code I have used in snowflake in the past to just that: SELECT DATEADD(day, rn, CURRENT_DATE) as date, To simplify nested-query syntax, Snowflake provides an additional method to generate sequences using the table function GETNEXTVAL, as in the following example: CREATE OR REPLACE SEQUENCE seq1; CREATE OR REPLACE TABLE foo (n NUMBER); INSERT INTO foo VALUES (100), (101), (102); SELECT n, s. Lists the tables for which you have access privileges, including dropped tables that are still within the Time Travel retention period and, therefore, can be undropped. Sep 23, 2019 · create table t1 ( ts timestamp default current_timestamp on update current_timestamp, dt datetime default current_timestamp on update current_timestamp ); I need a similar behavior in snowflake where I can update a column say "lastupdated" every time there is an update on the row. Required: date_or_timestamp_expr. dow_string. It may be positive or negative. gives 0 for the first day of the quarter, so if you need that to be 1 you can +1 that datadiff. 'month' or month). CREATEDATE) &. Note. 6,022 2 19 36. For example, select to_number(to_char(add_months(current_date, 1),'YYYYMMDD'),'99999999') as INT; Aug 30, 2022 · How to work with Datetimes in Snowflake SQL. nextval FROM foo, TABLE(GETNEXTVAL(seq1)) s; GETNEXTVAL Jun 28, 2021 · 3. CREATEDATE)>=DATEADD(YEAR,-12,O. Is there a way to achieve this using MONTHNAME command? SELECT MONTHNAME ('2019-01-01') Knowledge Base. ic gz hd zr eo xf mm tc bz ap