mysqlで型変換を行う方法
変換方法: 1. " " 演算子を使用します。構文は "SELECT 1 'String';" です。 2. CAST() 関数を使用して、任意の型を指定された型に変換します。構文は " CAST(expr AS type)"; 3. DATE_FORMAT() 関数を使用して、指定されたパターンに従って日付を文字列に変換します。
このチュートリアルの動作環境: 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));

If M 長さが実際の桁数に満たない場合は、設定された桁数の最大値に変換されます。次の変換では、M が 1、つまり 2 桁の数字 29 は表示できず、最大の 1 桁の数字 9
SELECT cast(‘28.82abc’ AS DECIMAL(1));
SELECT cast(‘28.82abc’ AS DECIMAL(2,1));
SELECT cast(‘28.82abc’ AS DECIMAL(2,2));
SELECT cast(‘28.82abc’ AS UNSIGNED);
SELECT cast(’-28abc’ AS SIGNED);

##今日までの文字列
SELECT cast(‘2007-12-25’ AS DATETIME);
SELECT cast(‘2007-12-25’ AS DATE);
SELECT cast(‘20:20:20’ AS TIME);
SELECT cast(‘25-12-2007’ AS DATETIME); SELECT cast(‘2007-may-25’ AS DATETIME);

SELECT cast(123 AS CHAR); SELECT cast(123 AS BINARY);
日付を文字列に変換#SELECT cast(now() AS CHAR);
#文字列をバイナリ文字列に変換 二进制字符串:二进制字符串被视为一个连续的字节序列,与字符集无关。非二进制字符串(即我们通常所说的字符串)被视为一个连续排列的字符序列,与字符集有关。所谓与字符集无关,是指与MySQL自己的字符集无关,而是按照操作系统的字符集把字符串转换成字节进行存储 两种字符串的比较方式:二进制字符串的比较方式是一个字节一个字节进行的,比较的依据是两个字节的二进制值。因为同一个字母的大小写的数值编码是不一样的,因此它是区分大小写的。另外,由于它和字符集无关,因此也就没有大写和小写字母一说 非二进制字符串的比较方式是一个字符一个字符进行的,比较的依据是两个字符在字符集中的先后顺序。根据使用的校对不同,可以进行区分大小写的比较和不区分大小写的比较 使用CAST(str AS BINARY)将字符串转换成二进制字符串时,通常使用它的快捷方式写法: BINARY str 查看当前字符集和校对规则设置 在比较表达式中,binary影响后面所有的字符串,并且不会忽略字符串的尾部空格 Cast(col_name as date_type) 将指定的列或者表达式转换为指定的数据类型 使用场景:当两个值进行比较,但是数据源的表中列的数据不一致,这个时候可以使用cast函数进行转化 3.Convert函数 CONVERT(expr, type), CONVERT(expr USING sharset_name) convert函数的作用和cast函数几乎相同,但是它可以把字符串从一种字符集转换成另一种字符集。下例将字符串’abc’从默认的字符集转换成utf8字符集 如果目标字符集不能表示该字符,则返回乱码 日期字符串转换函数 DATE_FORMAT(date, format) 将日期date按照给定的模式format转换成字符串。format中可使用以下模式元素 TIME_FORMAT(date, format) format中只可使用时、分、秒和微秒模式元素 STR_TO_DATE(str, format) 将字符串str以指定的模式format转换成日期。format中可以包含模式元素和字面量,字面量必须匹配str中的字面量:SHOW VARIABLES LIKE ‘collation_%’;
SELECT ‘a’ = ‘A’ ,BINARY ‘a’ = ‘A’;
SELECT ‘a’ = 'a ',BINARY ‘a’ = 'a ';
SELECT convert(‘abc’ USING utf8);
SELECT convert(‘你好’ USING gbk);
SELECT convert(‘你好’ USING latin1);
SELECT date_format(‘2009-10-04 22:23:00’, ‘%W %M %Y’);
SELECT date_format(now(), ‘%W %M %Y’);
SELECT date_format(‘2007-10-04 22:23:00’, ‘%H:%i:%s’);
SELECT time_format(‘22:23:01’, ‘%H.%i.%s’);
SELECT str_to_date(‘01,5,2013’,’%d,%m,%Y’);
SELECT str_to_date(‘May 1, 2013’,’%M %d,%Y’);
以下在会话变量@@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で型変換を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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