mysqlで型変換を行う方法

Jan 05, 2022 pm 02:59 PM
mysql 型変換

変換方法: 1. " " 演算子を使用します。構文は "SELECT 1 'String';" です。 2. CAST() 関数を使用して、任意の型を指定された型に変換します。構文は " CAST(expr AS type)"; 3. DATE_FORMAT() 関数を使用して、指定されたパターンに従って日付を文字列に変換します。

mysqlで型変換を行う方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

#1. 暗黙的な型変換と明示的な型変換の概念

暗黙的な型変換:

2 つの値の間で演算または比較を実行するには、まずデータ型が一貫している必要があります。暗黙的な型変換は、2 つのデータ型が矛盾していることが判明した場合に発生します。たとえば、文字列を数値に変換する、またはその逆の変換を行います。

SELECT 1+'1'; – 字符串1转成数字
SELECT concat(2,'test'); – 数字2转成字符串
ログイン後にコピー

明示的な型変換:

関数を使用してデータ型を変換する

#2.キャスト関数CAST(expr AS type)

##任意のタイプの式 expr を値に変換します指定されたタイプ type の。 type は次のいずれかのタイプです:

BINARY[(N)]: バイナリ文字列、変換後の長さは N バイト未満です (長さが N 未満の場合は 0x00最後に追加されます)

  • CHAR[(N)]: 文字列、変換後の長さは N 文字未満です

  • DATE : Date

  • DATETIME: 日付と時刻

  • DECIMAL[(M[,N])]: 浮動小数点数、M は合計桁数 (整数部と小数部を含む)、N は小数点以下の桁数

  • SIGNED [INTEGER]: 符号付き整数

  • #TIME: 時間
  • UNSIGNED [INTEGER]: 符号なし整数
  • 文字列を数値に変換

  • 10 進数に変換する場合は、文字列の先頭から最初の非数値文字までをスキャンします。切り捨てられた数字を四捨五入します

1) デフォルトでは、M と N は制限されず、整数に変換され、小数点第 1 位に四捨五入されます:

SELECT cast(‘28.82abc’ AS DECIMAL);
ログイン後にコピー

2) N を制限せずに M を制限し、それを整数に変換します (M はできるだけ大きい必要があります):

SELECT cast(‘28.82abc’ AS DECIMAL(4));
ログイン後にコピー
mysqlで型変換を行う方法

If M 長さが実際の桁数に満たない場合は、設定された桁数の最大値に変換されます。次の変換では、M が 1、つまり 2 桁の数字 29 は表示できず、最大の 1 桁の数字 9

SELECT cast(‘28.82abc’ AS DECIMAL(1));
ログイン後にコピー

mysqlで型変換を行う方法

が表示されます。 M と N は、まず小数点以下 N 桁を満たす必要があります。次の例では、最初に小数点以下 1 桁が満たされ、次に 1 つの整数が取得されます。

SELECT cast(‘28.82abc’ AS DECIMAL(2,1));
ログイン後にコピー

mysqlで型変換を行う方法

最初に小数点以下 2 位が満たされ、整数部分は取得されません。

SELECT cast(‘28.82abc’ AS DECIMAL(2,2));
ログイン後にコピー

mysqlで型変換を行う方法

SELECT cast(‘28.82abc’ AS UNSIGNED);
ログイン後にコピー

SELECT cast(’-28abc’ AS SIGNED);
ログイン後にコピー
mysqlで型変換を行う方法

mysqlで型変換を行う方法
##今日までの文字列

mysqlで型変換を行う方法

SELECT cast(‘2007-12-25’ AS DATETIME);
ログイン後にコピー

SELECT cast(‘2007-12-25’ AS DATE);
ログイン後にコピー
SELECT cast(‘20:20:20’ AS TIME);
ログイン後にコピー

mysqlで型変換を行う方法

日付形式は「YYYY-MM-DD」である必要があります'

SELECT cast(‘25-12-2007’ AS DATETIME);
SELECT cast(‘2007-may-25’ AS DATETIME);
ログイン後にコピー
mysqlで型変換を行う方法

mysqlで型変換を行う方法

#文字列への数値

mysqlで型変換を行う方法
mysqlで型変換を行う方法

SELECT cast(123 AS CHAR);
 SELECT cast(123 AS BINARY);
ログイン後にコピー

日付を文字列に変換#

SELECT cast(now() AS CHAR);
ログイン後にコピー

#文字列をバイナリ文字列に変換

二进制字符串:二进制字符串被视为一个连续的字节序列,与字符集无关。非二进制字符串(即我们通常所说的字符串)被视为一个连续排列的字符序列,与字符集有关。所谓与字符集无关,是指与MySQL自己的字符集无关,而是按照操作系统的字符集把字符串转换成字节进行存储

两种字符串的比较方式:二进制字符串的比较方式是一个字节一个字节进行的,比较的依据是两个字节的二进制值。因为同一个字母的大小写的数值编码是不一样的,因此它是区分大小写的。另外,由于它和字符集无关,因此也就没有大写和小写字母一说

非二进制字符串的比较方式是一个字符一个字符进行的,比较的依据是两个字符在字符集中的先后顺序。根据使用的校对不同,可以进行区分大小写的比较和不区分大小写的比较

使用CAST(str AS BINARY)将字符串转换成二进制字符串时,通常使用它的快捷方式写法: BINARY str

查看当前字符集和校对规则设置

SHOW VARIABLES LIKE ‘collation_%’;
ログイン後にコピー

mysqlで型変換を行う方法

在比较表达式中,binary影响后面所有的字符串,并且不会忽略字符串的尾部空格

SELECT ‘a’ = ‘A’ ,BINARY ‘a’ = ‘A’;
 SELECT ‘a’ = 'a ',BINARY ‘a’ = 'a ';
ログイン後にコピー

mysqlで型変換を行う方法

mysqlで型変換を行う方法

Cast(col_name as date_type)

将指定的列或者表达式转换为指定的数据类型

使用场景:当两个值进行比较,但是数据源的表中列的数据不一致,这个时候可以使用cast函数进行转化

3.Convert函数

CONVERT(expr, type), CONVERT(expr USING sharset_name)

convert函数的作用和cast函数几乎相同,但是它可以把字符串从一种字符集转换成另一种字符集。下例将字符串’abc’从默认的字符集转换成utf8字符集

SELECT convert(‘abc’ USING utf8);
ログイン後にコピー

mysqlで型変換を行う方法

SELECT convert(‘你好’ USING gbk);
ログイン後にコピー

mysqlで型変換を行う方法

如果目标字符集不能表示该字符,则返回乱码

SELECT convert(‘你好’ USING latin1);
ログイン後にコピー

mysqlで型変換を行う方法

日期字符串转换函数

DATE_FORMAT(date, format)

将日期date按照给定的模式format转换成字符串。format中可使用以下模式元素
mysqlで型変換を行う方法

mysqlで型変換を行う方法

SELECT date_format(‘2009-10-04 22:23:00’, ‘%W %M %Y’);
ログイン後にコピー

mysqlで型変換を行う方法

SELECT date_format(now(), ‘%W %M %Y’);
ログイン後にコピー

mysqlで型変換を行う方法

SELECT date_format(‘2007-10-04 22:23:00’, ‘%H:%i:%s’);
ログイン後にコピー

mysqlで型変換を行う方法

TIME_FORMAT(date, format)

format中只可使用时、分、秒和微秒模式元素

SELECT time_format(‘22:23:01’, ‘%H.%i.%s’);
ログイン後にコピー

mysqlで型変換を行う方法

STR_TO_DATE(str, format)

将字符串str以指定的模式format转换成日期。format中可以包含模式元素和字面量,字面量必须匹配str中的字面量:

SELECT str_to_date(‘01,5,2013’,’%d,%m,%Y’);
SELECT str_to_date(‘May 1, 2013’,’%M %d,%Y’);
ログイン後にコピー

mysqlで型変換を行う方法
以下在会话变量@@sql_mode设置中包含no_zero_date和no_zero_in_date时转换失败,没有包含这些设置时转换成功

SELECT str_to_date(‘a09:30:17’,‘a%h:%i:%s’);
 SELECT str_to_date(‘09:30:17a’,’%h:%i:%s’);
ログイン後にコピー

mysqlで型変換を行う方法mysqlで型変換を行う方法

【相关推荐:mysql视频教程

以上がmysqlで型変換を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

Centosはmysqlをインストールします Centosはmysqlをインストールします Apr 14, 2025 pm 08:09 PM

CentOSにMySQLをインストールするには、次の手順が含まれます。適切なMySQL Yumソースの追加。 yumを実行して、mysql-serverコマンドをインストールして、mysqlサーバーをインストールします。ルートユーザーパスワードの設定など、MySQL_SECURE_INSTALLATIONコマンドを使用して、セキュリティ設定を作成します。必要に応じてMySQL構成ファイルをカスタマイズします。 MySQLパラメーターを調整し、パフォーマンスのためにデータベースを最適化します。

See all articles