Maison base de données tutoriel mysql Mysql数据库里面的String类型按照数字来排序以及按时间排序的sql语句_MySQL

Mysql数据库里面的String类型按照数字来排序以及按时间排序的sql语句_MySQL

Jun 01, 2016 pm 01:02 PM
类型 语句

今天做项目的时候,遇到个小小的问题,在数据库中查询的时候,要用String类型的ID进行一下排序!(注:ID字段为 varchar 类型)
解决办法:
如: Sql代码
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC
或者: Sql代码
SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID + 1)
mysql时间格式化,按时间段查询MYSQL语句

2011-04-15 09:01:08| 分类: MySQL |举报 |字号 订阅

描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日的会员。

SQL语句: Select * From user Where DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d')
说明:常用的时间日期处理函数,上面的主要是DATE_FORMAT()这个函数的应用。

1、DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
2、 WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
3、DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql> select DAYOFMONTH('1998-02-03');
-> 3
4、DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql> select DAYOFYEAR('1998-02-03');
-> 34

5、MONTH(date)
返回date的月份,范围1到12。
mysql> select MONTH('1998-02-03');
-> 2

6、DAYNAME(date)
返回date的星期名字。
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'

7、MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("1998-02-05");
-> 'February'

8、QUARTER(date)
返回date一年中的季度,范围1到4。
mysql> select QUARTER('98-04-01');
-> 2

9、WEEK(date)
WEEK(date,first) 对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参形式WEEK()允许 。你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,
从星期一开始。
mysql> select WEEK('1998-02-20');
-> 7
mysql> select WEEK('1998-02-20',0);
-> 7
mysql> select WEEK('1998-02-20',1);
-> 8

10、YEAR(date)
返回date的年份,范围在1000到9999。
mysql> select YEAR('98-02-03');
-> 1998
11、HOUR(time)
返回time的小时,范围是0到23。
mysql> select HOUR('10:05:03');
-> 10
12、MINUTE(time)
返回time的分钟,范围是0到59。
mysql> select MINUTE('98-02-03 10:05:03');
-> 5
13、SECOND(time)
回来time的秒数,范围是0到59。
mysql> select SECOND('10:05:03');
-> 3

14、PERIOD_ADD(P,N)
增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。
mysql> select PERIOD_ADD(9801,2);
-> 199803
15、PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql> select PERIOD_DIFF(9802,199703);
-> 11

16、

DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
这些功能执行日期运算。对于MySQL 3.22,他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词。
在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(见例子)date是一个指定开始日期的
DATETIME或DATE值,expr是指定加到开始日期或从开始日期减去的间隔值一个表达式,expr是一个字符串;它可以以 一个“-”开始表示负间隔。type是一个关键词,指明表达式应该如何被解释。EXTRACT(type FROM date)函数从日期 中返回“type”间隔。

下表显示了type和expr参数怎样被关联: type值 含义 期望的expr格式
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"
DAY_HOUR 天和小时 "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS"
MySQL在expr格式中允许任何标点分隔符。表示显示的是建议的分隔符。如果date参数是一个DATE值并且你的计算仅仅 包含YEAR、MONTH和DAY部分(即,没有时间部分),结果是一个DATE值。否则结果是一个DATETIME值。
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00",
INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102

如果你指定太短的间隔值(不包括type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。例如, 如果你指定一个type是DAY_SECOND,值expr被希望有天、小时、分钟和秒部分。如果你象"1:10"这样指定值,
MySQL假设日子和小时部分是丢失的并且值代表分钟和秒。换句话说,"1:10" DAY_SECOND以它等价于"1:10" MINUTE_SECOND 的方式解释,这对那MySQL解释TIME值表示经过的时间而非作为一天的时间的方式有二义性。如果你使用确实不正确的日期, 结果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。

mysql> select DATE_ADD('1998-01-30', Interval 1 month);
-> 1998-02-28
注意,从前面的例子中词INTERVAL和type关键词不是区分大小写的。
TO_DAYS(date)
给出一个日期date,返回一个天数(从0年的天数)。
mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
17、 TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。
18、 FROM_DAYS(N)
给出一个天数N,返回一个DATE值。
mysql> select FROM_DAYS(729669);
-> '1997-10-07'

TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。

19、DATE_FORMAT(date,format)
根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 一个文字“%”。

所有的其他字符不做解释被复制到结果中。

mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
' %D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
MySQL3.23中,在格式修饰符字符前需要%。在MySQL更早的版本中,%是可选的。
20、TIME_FORMAT(time,format)
这象上面的DATE_FORMAT()函数一样使用,但是format字符串只能包含处理小时、分钟和秒的那些格式修饰符。 其他修饰符产生一个NULL值或0。
21、CURDATE()
CURRENT_DATE
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
22、CURTIME()
CURRENT_TIME
以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
23、 NOW()
24、SYSDATE()
CURRENT_TIMESTAMP
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的 上下文被使用。
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026

25、UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一 个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME 字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。
26、FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串 还是或数字上下文中被使用。
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
27、FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条 目同样的修饰符。
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'
28、SEC_TO_TIME(seconds)
返回seconds参数,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字 上下文中被使用。
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938
29、TIME_TO_SEC(time)
返回time参数,转换成秒。
mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38');
-> 2378

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 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)

Comment changer le type de réseau en privé ou public dans Windows 11 Comment changer le type de réseau en privé ou public dans Windows 11 Aug 24, 2023 pm 12:37 PM

La configuration d'un réseau sans fil est courante, mais choisir ou modifier le type de réseau peut prêter à confusion, surtout si vous n'en connaissez pas les conséquences. Si vous recherchez des conseils sur la façon de changer le type de réseau de public à privé ou vice versa dans Windows 11, lisez la suite pour obtenir des informations utiles. Quels sont les différents profils réseau dans Windows 11 ? Windows 11 est livré avec un certain nombre de profils réseau, qui sont essentiellement des ensembles de paramètres pouvant être utilisés pour configurer diverses connexions réseau. Ceci est utile si vous disposez de plusieurs connexions à la maison ou au bureau afin que vous n'ayez pas à tout configurer à chaque fois que vous vous connectez à un nouveau réseau. Les profils de réseau privé et public sont deux types courants dans Windows 11, mais généralement

Implémentation de tableaux dynamiques en Python : du débutant au compétent Implémentation de tableaux dynamiques en Python : du débutant au compétent Apr 21, 2023 pm 12:04 PM

Partie 1 Parlons de la nature des types de séquence Python. Dans ce blog, parlons des différentes classes « séquence » de Python et des trois structures de données intégrées couramment utilisées – liste, tuple et caractère. ). Je ne sais pas si vous l'avez remarqué, mais ces classes ont un point commun évident. Elles peuvent être utilisées pour enregistrer plusieurs éléments de données. La fonction la plus importante est la suivante : chaque classe prend en charge l'accès en indice (index) aux éléments de la séquence. comme l'utilisation de SyntaxSeq[i]​. En fait, chacune des classes ci-dessus est représentée par une structure de données simple telle qu'un tableau. Cependant, les lecteurs familiers avec Python savent peut-être que ces trois structures de données présentent certaines différences : par exemple, les tuples et les chaînes ne peuvent pas être modifiés, alors que les listes le peuvent.

Comment créer un compte matriciel vidéo ? De quels types de comptes matriciels dispose-t-il ? Comment créer un compte matriciel vidéo ? De quels types de comptes matriciels dispose-t-il ? Mar 21, 2024 pm 04:57 PM

Avec la popularité des plateformes de vidéos courtes, le marketing de compte matriciel vidéo est devenu une méthode de marketing émergente. En créant et en gérant plusieurs comptes sur différentes plateformes, les entreprises et les particuliers peuvent atteindre des objectifs tels que la promotion de la marque, la croissance des fans et la vente de produits. Cet article explique comment utiliser efficacement les comptes matriciels vidéo et présente différents types de comptes matriciels vidéo. 1. Comment créer un compte vidéo matriciel ? Pour créer un bon compte Video Matrix, vous devez suivre les étapes suivantes : Tout d'abord, vous devez clarifier quel est l'objectif de votre compte Video Matrix, qu'il s'agisse de la communication de la marque, de la croissance des fans ou de la vente de produits. Avoir des objectifs clairs aide à développer des stratégies en conséquence. 2. Choisissez une plateforme : choisissez une plateforme de courtes vidéos appropriée en fonction de votre public cible. Les plateformes de courtes vidéos grand public actuelles incluent Douyin, Kuaishou, Huoshan Video, etc.

Quel est le type de valeur de retour de la fonction Golang ? Quel est le type de valeur de retour de la fonction Golang ? Apr 13, 2024 pm 05:42 PM

Les fonctions Go peuvent renvoyer plusieurs valeurs de types différents. Le type de valeur de retour est spécifié dans la signature de la fonction et renvoyé via l'instruction return. Par exemple, une fonction peut renvoyer un entier et une chaîne : funcgetDetails()(int,string). En pratique, une fonction qui calcule l'aire d'un cercle peut renvoyer l'aire et une erreur facultative : funccircleArea(radiusfloat64)(float64,error). Remarque : Si la signature de la fonction ne spécifie pas de type, une valeur nulle est renvoyée ; il est recommandé d'utiliser une instruction return avec une déclaration de type explicite pour améliorer la lisibilité.

Meilleures pratiques pour les astuces de type en Python Meilleures pratiques pour les astuces de type en Python Apr 23, 2023 am 09:28 AM

C'est génial d'utiliser un langage dynamique pendant un moment, et le code est reconstruit dans le crématorium. Je pense que vous devez avoir entendu cette phrase. Comme les tests unitaires, même si l'écriture du code prend un peu de temps, cela en vaut la peine à long terme. Cet article explique comment mieux comprendre et utiliser les astuces de type Python. 1. Les astuces de type ne sont valides qu'au niveau de la syntaxe. Les astuces de type (introduites depuis PEP3107) sont utilisées pour ajouter des types aux variables, paramètres, paramètres de fonction et leurs valeurs de retour, propriétés de classe et méthodes. Les types de variables Python sont dynamiques et peuvent être modifiés au moment de l'exécution pour ajouter des indications de type au code. Ils ne sont pris en charge qu'au niveau de la syntaxe et n'ont aucun impact sur l'exécution du code. Donc le type

Types et caractéristiques des fonctions C++ Types et caractéristiques des fonctions C++ Apr 11, 2024 pm 03:30 PM

Les fonctions C++ ont les types suivants : fonctions simples, fonctions const, fonctions statiques et fonctions virtuelles ; les fonctionnalités incluent : les fonctions en ligne, les paramètres par défaut, les retours de référence et les fonctions surchargées. Par exemple, la fonction calculateArea utilise π pour calculer l'aire d'un cercle d'un rayon donné et la renvoie en sortie.

Quels sont les types et fonctions des annotations Java ? Quels sont les types et fonctions des annotations Java ? May 04, 2024 pm 09:33 PM

Les annotations Java sont utilisées pour fournir des métadonnées pour les éléments de code et peuvent être utilisées pour la métaprogrammation, la vérification des erreurs, la génération de code, la génération de documents et la réflexion. Le framework Spring utilise largement les annotations pour la configuration, simplifiant ainsi le développement d'applications.

Analyser les nouvelles fonctionnalités de PHP8 : Comment profiter de types d'attributs plus forts ? Analyser les nouvelles fonctionnalités de PHP8 : Comment profiter de types d'attributs plus forts ? Sep 12, 2023 am 11:26 AM

Analyser les nouvelles fonctionnalités de PHP8 : Comment profiter de types d'attributs plus forts ? Ces dernières années, PHP est devenu de plus en plus populaire dans le monde du développement web. Sa flexibilité et sa facilité d'apprentissage font de PHP un langage de programmation populaire adapté à une variété de projets. Dans un effort d'amélioration et d'optimisation continue du langage, PHP8 introduit de nombreuses nouvelles fonctionnalités, notamment un typage plus fort pour les propriétés. Dans cet article, nous examinerons en profondeur les nouvelles fonctionnalités des types de propriétés dans PHP8 et comment vous pouvez les exploiter pour améliorer la fiabilité et les performances de votre code. Avant PHP8, la déclaration de type d'une propriété pouvait être

See all articles