找到关于 MySQL 的4379 篇文章
2K+ 次浏览
你需要结合使用 `CONVERT()` 函数和 `binary` 关键字。语法如下:
`SELECT CONVERT(binary CONVERT(yourColumnName using latin1) USING UTF8) as anyAliasName FROM yourTableName;`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table UtfDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(15), -> PRIMARY KEY(Id) -> );`
使用 `INSERT` 命令在表中插入一些记录。查询如下:
`mysql> insert into UtfDemo(Name) values('Obama’s');` ... 阅读更多
981 次浏览
你可以借助 `GROUP_CONCAT()` 函数实现此目的。语法如下:
`SELECT yourColumnName1, yourColumnName2, yourColumnName3, ..N, GROUP_CONCAT(yourColumnName4) as anyAliasName FROM yourTableName group by yourColumnName3, yourColumnName1, yourColumnName2;`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table CommaDelimitedList -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> GroupId int, -> CompanyName varchar(15), -> RefId int, -> PRIMARY KEY(Id) -> );` ... 阅读更多
3K+ 次浏览
`binary` 关键字可以在 `WHERE` 子句之后使用,用于将值与精确的区分大小写的匹配进行比较。
以下是一个示例:
情况 1 - 不区分大小写的匹配
查询如下:
`mysql> select 'joHN'='JOHN' as Result;`
以下是输出:
`+--------+ | Result | +--------+ | 1 | +--------+`
在上面的示例输出中,结果为真,而我们知道 joHN 和 JOHN 是两个不同的单词。这不是区分大小写的匹配。
情况 2 - 如果你想要区分大小写的匹配,请使用 `binary` 关键字。查询是 ... 阅读更多
275 次浏览
你可以使用 `YEAR()` 函数从时间戳中获取年份。语法如下:
`SELECT yourColumnName FROM yourTableName WHERE YEAR(yourTimestampColumnName)='yourYearValue';`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table getYearOut -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> yourTimestamp timestamp default current_timestamp, -> PRIMARY KEY(Id) -> );`
使用 `INSERT` 命令在表中插入一些记录:
`mysql> insert into getYearOut(Name, yourTimestamp) values('John', now());` ... 阅读更多
112 次浏览
`CONV()` 函数可以用于将一种进制转换为另一种进制。例如,16 是一种进制,10 是另一种进制。16 进制是十六进制,10 是十进制。
语法如下:
`SELECT CAST(CONV('yourColumnName', 16, 10) AS UNSIGNED INTEGER) as anyAliasName FROM yourTableName;`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table castTypeToBigIntDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Value varchar(100), -> PRIMARY KEY(Id) -> );` ... 阅读更多
2K+ 次浏览
为了理解带 WHERE 子句的 group by,让我们创建一个表。创建表的查询如下:
`mysql> create table GroupByWithWhereClause -> ( -> Id int NOT NULL AUTO_INCREMENT, -> IsDeleted tinyint(1), -> MoneyStatus varchar(20), -> UserId int, -> PRIMARY KEY(Id) -> );`
现在,您可以使用 insert 命令在表中插入一些记录。查询如下:
`mysql> insert into GroupByWithWhereClause(IsDeleted, MoneyStatus, UserId) values(0, 'Undone', 101);` ... 阅读更多
256 次浏览
你可以为此使用带有 JOIN 条件的子查询。语法如下:
`SELECT yourTablevariableName.* FROM ( SELECT MAX(UNIX_TIMESTAMP(yourDateTimeColumnName)) AS anyAliasName FROM getLatestHour GROUP BY HOUR(UserLoginDateTime) ) yourOuterVariableName JOIN yourTableName yourTablevariableName ON UNIX_TIMESTAMP(yourDateTimeColumnName) = yourOuterVariableName.yourAliasName WHERE DATE(yourDateTimeColumnName) = 'yourDateValue';`
为了理解上述语法以及要实现的结果,让我们创建一个表。创建表的查询如下:
`mysql> create table getLatestHour -> ( -> UserId int, -> UserName varchar(20), -> UserLoginDateTime ... 阅读更多
284 次浏览
你可以将 `IFNULL` 与 `ORDER BY` 子句一起使用。语法如下:
`SELECT *FROM yourTableName ORDER BY IFNULL(yourColumnName1, yourColumnName2);`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table IfNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> ProductName varchar(10), -> ProductWholePrice float, -> ProductRetailPrice float, -> PRIMARY KEY(Id) -> );`
使用 insert 命令在表中插入一些记录。查询如下:
`mysql> insert into IfNullDemo(ProductName, ProductWholePrice, ProductRetailPrice) values('Product-1', 99.50, ... 阅读更多
154 次浏览
你可以使用 `ORDER BY ASC` 来按升序排列时间戳值。
以下是不使用 `TIMESTAMP()` 的语法:
`SELECT yourTimestampColumnName from yourTableName order by yourTimestampColumnName ASC;`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table Timestamp_TableDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> yourTimestamp timestamp -> );`
现在,您可以使用 insert 命令在表中插入一些记录。查询如下 ... 阅读更多
800 次浏览
要删除所有字段的前两个字符,你需要使用 MySQL 的 `SUBSTRING()` 函数。语法如下:
`UPDATE yourTableName SET yourColumnName=SUBSTRING(yourColumnName, 3) WHERE yourCondition;`
为了理解上述语法,让我们创建一个表。创建表的查询如下:
`mysql> create table RemoveFirstTwoCharacterDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> StringValue varchar(30), -> PRIMARY KEY(Id) -> );`
使用 insert 命令在表中插入一些记录。查询如下:
`mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('U:100');` ... 阅读更多