Oracle TO_NCHAR(datetime) Function
Oracle TO_NCHAR(datetime) is a built-in function that converts the given date, time, or interval value to a string according to the specified format.
Unlike TO_CHAR(datetime), its return value is in the national character set.
Oracle TO_NCHAR(datetime) Syntax
Here’s the syntax of the Oracle TO_NCHAR(datetime) function:
TO_NCHAR(expr [, fmt [, 'nlsparam' ] ])
Parameters
expr-
Required. A date-time or interval expression. It can be a
DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE,TIMESTAMP WITH LOCAL TIME ZONE,INTERVAL DAY TO SECOND, orINTERVAL YEAR TO MONTHdata type. fmt-
Optional. A format string.
'nlsparam'-
Optional. You can use this parameter in the form of
'NLS_DATE_LANGUAGE = language', wherelanguageis the language name.
Return Value
The Oracle TO_NCHAR(datetime) function returns a VARCHAR2 type string.
If fmt is omitted, then date is converted to the following VARCHAR2 values:
DATEvalues are converted to values of the default date format.TIMESTAMPandTIMESTAMP WITH LOCAL TIME ZONEvalues are converted to values of the default timestamp format.TIMESTAMP WITH TIME ZONEvalues are converted to values in the default timestamp format with time zone.- Interval values are converted to the numeric representation of interval literals.
If any of the arguments is NULL, TO_NCHAR(datetime) returns NULL.
Oracle TO_NCHAR(datetime) Examples
Here are some examples that demonstrate the usage of the Oracle TO_NCHAR(datetime) function.
Basic Usage
SELECT
TO_NCHAR(DATE '2023-02-13', 'YYYY/MM/DD')
FROM dual;
输出:
TO_NCHAR(DATE'2023-02-13','YYYY/MM/DDHH24:MI:SS')
____________________________________________________
2023/02/13Or you can specify the time part of the output:
SELECT
TO_NCHAR(DATE '2023-02-13', 'YYYY/MM/DD HH24:MI:SS')
FROM dual;
输出:
TO_NCHAR(DATE'2023-02-13','YYYY/MM/DDHH24:MI:SS')
____________________________________________________
2023/02/13 00:00:00Interval
The Oracle TO_NCHAR(datetime) function allows you to output an interval value:
SELECT
TO_NCHAR(INTERVAL '25-2' YEAR TO MONTH) "Year To Month",
TO_NCHAR(INTERVAL '2 23:59:59' DAY TO SECOND) "Day To Second"
FROM dual;
输出:
Year To Month Day To Second
________________ ______________________
+25-02 +02 23:59:59.000000This example uses the default format parameter.
Language Settings
The Oracle TO_NCHAR(datetime) function allows you to specify a language to display the month or day of the week according to the set language.
SELECT
TO_NCHAR(
DATE '2023-02-13',
'DY, DD MONTH YYYY',
'NLS_DATE_LANGUAGE = English'
) "English",
TO_NCHAR(
DATE '2023-02-13',
'DY, DD MONTH YYYY',
'NLS_DATE_LANGUAGE = German'
) "German"
FROM dual;
输出:
English German
_________________________ ________________________
MON, 13 FEBRUARY 2023 MO, 13 FEBRUAR 2023NULL Parameter
If any of the parameters are NULL, TO_NCHAR(datetime) will return NULL.
SET NULL 'NULL';
SELECT
TO_NCHAR(NULL, NULL, NULL)
FROM dual;
输出:
TO_NCHAR(NULL,NULL,NULL)
__________________________
NULLIn this example, we use the statement SET NULL 'NULL'; to display NULL values as the string 'NULL'.
Conclusion
The Oracle TO_NCHAR(datetime) is a built-in function that converts a given date, time, or interval value to a string according to the specified format.