Maison base de données tutoriel mysql 如何解决ORA-01843与NLS_DATE_FORMAT问题

如何解决ORA-01843与NLS_DATE_FORMAT问题

Jun 07, 2016 pm 05:55 PM
date format

本文将详细介绍如何解决ORA-01843与NLS_DATE_FORMAT问题,需要的朋友可以参考下

在Oracle SQL的where子句中传入字符类型参数'19-11月-08',使得可以直接和日期类型比较,或者转换一下同日期类型比较。
如果传入的字符格式和NSL_DATE_FORMAT一致,那么可以不转换直接用,否则会报ORA-01861错误。如果转换得不正确,则可能会报ORA-01843或其他错误。
例如:
Trc代码
SQL>
代码如下:
elect count(*) from dba_objects where created>to_date('2008-12-01');
select count(*) from dba_objects where created>to_date('2008-12-01')

第 1 行出现错误:
ORA-01861: 文字与格式字符串不匹配
Trc代码
SQL>
代码如下:
select count(*) from dba_objects where created>to_date('19-11月-08','mm-dd-
yyyy');
select count(*) from dba_objects where created>to_date('19-11月-08','mm-dd-yyyy'
)

第 1 行出现错误:
ORA-01843: 无效的月份
不能识别的字符串和格式转换不对的字符串测试时会出现这样的错误。
使用to_date转换的格式字符串主要为'DD-MON-RR'/'DD-MON-RRRR'或'YYYY-MM-DD'/'YY-MM-DD'。
如果能识别,正确的结果应是这样。
SQL>
代码如下:
select count(*) from dba_objects where created>'19-11月-08';

COUNT(*)
----------
4199
这个格式和会话的NLS_DATE_FORMAT参数值相关。
代码如下:
select SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') DF, SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') DL from dual

DF DL
-------------------- --------------------
DD-MON-RR SIMPLIFIED CHINESE
我们在会话级别修改一下这个参数的值。
SQL> alter session set nls_date_format='YYYY-MM-DD';
会话已更改。
SQL>
代码如下:
select count(*) from dba_objects where created>'19-11月-08';
select count(*) from dba_objects where created>'19-11月-08'

第 1 行出现错误:
ORA-01861: 文字与格式字符串不匹配
这样,原来正确的操作就不对了。使用符合NLS_DATE_FORMAT格式的字符串则可以了。
SQL>
代码如下:
select count(*) from dba_objects where created>'2008-12-01';

这个参数和应用的环境也有关系,有的应用会自动修改这个参数值。因此,测试工作最好放到sqlplus中进行。
数据库级别上这个参数的值是固定不变的,如下所示:
Trc代码
SQL>
代码如下:
select * from v$nls_parameters;
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE

已选择19行。
NLS_DATE_LANGUAGE是"SIMPLIFIED CHINESE",即简体中文。所以月份值是中文如"11月"。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Avertissement PHP : date() s'attend à ce que le paramètre 2 soit long, la chaîne étant la solution Avertissement PHP : date() s'attend à ce que le paramètre 2 soit long, la chaîne étant la solution Jun 22, 2023 pm 08:03 PM

Lors du développement à l'aide de programmes PHP, vous rencontrez souvent des messages d'avertissement ou d'erreur. Parmi eux, un message d'erreur qui peut apparaître est : PHPWarning:date()expectsparameter2tobelong,stringgiven. Le message d'erreur signifie : le deuxième paramètre de la fonction date() est censé être un entier long (long), mais ce qui lui est réellement transmis est une chaîne (string). Alors, nous

Comment créer et nommer un fichier/dossier en fonction de l'horodatage actuel Comment créer et nommer un fichier/dossier en fonction de l'horodatage actuel Apr 27, 2023 pm 11:07 PM

Si vous cherchez un moyen de créer et de nommer automatiquement des fichiers et des dossiers en fonction des horodatages du système, vous êtes au bon endroit. Il existe un moyen très simple d’accomplir cette tâche. Les dossiers ou fichiers créés peuvent ensuite être utilisés à diverses fins telles que le stockage de sauvegardes de fichiers, le tri des fichiers en fonction de la date, etc. Dans cet article, nous expliquerons en quelques étapes très simples comment créer automatiquement des fichiers et des dossiers dans Windows 11/10 et les nommer en fonction de l'horodatage du système. La méthode utilisée est un script batch, très simple. J'espère que vous avez apprécié la lecture de cet article. Section 1 : Comment créer et nommer automatiquement un dossier en fonction de l'horodatage actuel du système Étape 1 : Tout d'abord, accédez au dossier parent dans lequel vous souhaitez créer le dossier,

Introduction aux méthodes et utilisation des classes Date et SimpleDateFormat pour traiter le temps en Java Introduction aux méthodes et utilisation des classes Date et SimpleDateFormat pour traiter le temps en Java Apr 21, 2023 pm 03:01 PM

1. Introduction La classe Date du package java.util représente une heure spécifique, précise en millisecondes. Si nous voulons utiliser notre classe Date, nous devons alors introduire notre classe Date. Écrire l’année directement dans la classe Date ne produira pas le résultat correct. Parce que la date en Java est calculée à partir de 1900, donc tant que vous remplissez le premier paramètre avec le nombre d'années depuis 1900, vous obtiendrez l'année souhaitée. Le mois doit être soustrait de 1 et le jour peut être inséré directement. Cette méthode est rarement utilisée et la deuxième méthode est couramment utilisée. Cette méthode consiste à convertir une chaîne conforme à un format spécifique, tel que aaaa-MM-jj, en données de type Date. Tout d’abord, définissez un objet de type Date Date

Comment obtenir la représentation en millisecondes d'une date en utilisant la méthode getTime() de la classe Date Comment obtenir la représentation en millisecondes d'une date en utilisant la méthode getTime() de la classe Date Jul 24, 2023 am 11:42 AM

Comment obtenir une représentation en millisecondes de la date à l'aide de la méthode getTime() de la classe Date En Java, la classe Date est une classe utilisée pour représenter la date et l'heure. Il fournit de nombreuses méthodes utiles pour manipuler et obtenir des informations sur les objets date. Parmi elles, la méthode getTime() est une méthode importante de la classe Date, qui peut renvoyer la représentation en millisecondes de l'objet date. Nous détaillerons ensuite comment utiliser cette méthode pour obtenir la représentation en millisecondes d'une date et fournirons des exemples de code correspondants. Utilisation de la classe Date g

Quelles sont les options pour les bibliothèques de calendriers et de dates en Python ? Quelles sont les options pour les bibliothèques de calendriers et de dates en Python ? Oct 21, 2023 am 09:22 AM

Il existe de nombreuses excellentes bibliothèques de calendrier et de dates en Python que nous pouvons utiliser. Ces bibliothèques peuvent nous aider à gérer les opérations liées aux dates et au calendrier. Ensuite, je vais vous présenter plusieurs choix courants et fournir des exemples de code correspondants. Bibliothèque Datetime : Datetime est le module de traitement de date et d'heure intégré de Python. Il fournit de nombreuses classes et méthodes liées à la date et à l'heure, qui peuvent être utilisées pour traiter les dates, les heures, les décalages horaires et d'autres opérations. Exemple de code : importdatetime#Obtenir la date actuelle

Comment utiliser les classes Stringbuild, Date et Calendar en Java Comment utiliser les classes Stringbuild, Date et Calendar en Java May 22, 2023 pm 04:52 PM

Classe Stringbuild Étant donné que le contenu de l'objet de la classe String ne peut pas être modifié, un nouvel objet String sera construit à chaque fois qu'il est épissé, ce qui prend du temps et gaspille de l'espace mémoire. À ce stade, vous devez résoudre ce problème via StringBuild. La classe fournie par Java. StringBuilder est également appelée séquence de caractères variable, c'est un tampon de chaîne similaire à String, qui peut être considéré comme un conteneur. Cela signifie que le contenu de l'objet StringBuilder. est variable. La méthode de construction publicStringBuilder() : crée un tampon vide publicStringBuilder(Stringsr

Comment résoudre le problème de la configuration du champ de date par Springboot pour renvoyer l'horodatage Comment résoudre le problème de la configuration du champ de date par Springboot pour renvoyer l'horodatage May 20, 2023 am 11:16 AM

J'ai rencontré un problème. Après la mise à niveau de Springboot vers 2.0, la date trouvée dans la base de données a été reçue en utilisant Date et finalement renvoyée directement au frontal. Elle peut être affichée normalement au format aaaa-MM-jjHH:mm:ss dans Google. Chrome. Cependant, la date affichée dans le navigateur IE est « tronquée » car la version springboot1.x renvoie par défaut un horodatage dans le champ Date, et Google et IE convertiront automatiquement l'horodatage en aaaa-MM-jjHH:mm:ss ;Après springboot2.0, spring convertira automatiquement le champ Date en une chaîne UTC (sans configuration), donc la date doit être convertie en horodatage ou y

PHP formate une date/heure GMT/UTC PHP formate une date/heure GMT/UTC Mar 21, 2024 am 10:41 AM

Cet article expliquera en détail comment formater une date/heure GMT/UTC avec PHP. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Introduction au formatage de la date/heure GMT/UTC en PHP En PHP, le formatage de la date/heure GMT/UTC est crucial pour afficher et gérer correctement les dates entre fuseaux horaires. Cet article explique comment formater une date/heure GMT/UTC à l'aide de la classe DateTime de PHP, ainsi que les différentes options de formatage disponibles. Classe DateTime La classe DateTime représente une date et une heure. Il peut stocker et manipuler les valeurs de date/heure dans des fuseaux horaires tels que GMT/UTC. Pour créer un nouveau Da

See all articles