Maison  >  Questions et réponses  >  le corps du texte

Le titre est réécrit comme suit : La traduction chinoise de la chaîne de conversion à ce jour est la fonction MYSQL STR_TO_DATE.

<p>J'ai cette date dans cette date : <code>STR_TO_DATE('28-AUG-60','%d-%M-%y')</code> Lorsque j'insère dans le tableau, j'obtiens : <strong>2060-08-28 00:00:00</strong> Ce que j'attends c'est : <strong>1960-08-28 00:00:00</strong> Je sais qu'il existe un format RR dans MSSQL qui vous donne une année à 2 ou 4 chiffres, 00-49 correspond au 20ème siècle, comment faire cela dans MySQL ? Quand j'ai regardé la documentation, j'ai vu qu'elle devrait utiliser %Y mais cela ne fonctionne pas réellement Merci! </p>
P粉270891688P粉270891688434 Il y a quelques jours474

répondre à tous(1)je répondrai

  • P粉436410586

    P粉4364105862023-09-03 09:07:18

    Si vous connaissez toutes les années à deux chiffres supérieures à une certaine valeur, aimez '50',应被视为1900年代的年份,而其余的应被视为2000年代的年份,您可以使用CASEExpression pour appliquer différents formats de date :

    SELECT DATE(STR_TO_DATE(
             date,
             CASE WHEN RIGHT(date, 2) < ? THEN '%d-%M-%Y' ELSE '%d-%M-%y' END 
           )) date
    FROM tablename;

    volonté?更改为适合您数据的两位数年份(如'50').

    Voir Démo.

    répondre
    0
  • Annulerrépondre