sql >> データベース >  >> RDS >> Mysql

MySQLCASTとCONVERT

    MySQLCASTとMySQLCONVERTはどちらも、MySQLのデータ型を変更するのに役立ちます。機能は非常に似ていますが、いくつかの違いがあります。これは、MySQL CASTとCONVERTの比較で、どちらを使用するかを決定するのに役立ちます。

    MySQLCASTとCONVERT

    これがMySQLCASTとCONVERTの段階的な比較です。

    機能性

    MySQL CASTを使用すると、あるデータ型から別のデータ型にデータをキャストできます。これがMySQLCASTに関する詳細な記事です。

    MySQL CONVERTでは、データをあるデータ型から別のデータ型に変換することもできます。また、データの文字セットを別の文字セットに変換することもできます。 MySQLCASTを使用して文字セットを変更することはできません。これがMySQLCONVERTに関する詳細な記事です。

    MySQLCASTとMySQLCONVERTを使用して、リテラルと列のデータ型を変換できます。

    構文

    MySQLCAST関数の構文は次のとおりです

    CAST(data as data_type)
    

    MySQL CASTには、タイプキャストされるデータと、このデータを変換するデータ型(decimal、charなど)の2つの入力が必要です。データをBINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNEDのデータ型にキャストできます。

    以下に示すように、データをリテラル値として提供できます

    CAST(1 as char)
    

    または

    列名(IDなど)としてデータ化できます

    CAST(id as char)
    

    ボーナス読み取り:MySQLロールバッククエリ

    MySQLCONVERT関数の構文は次のとおりです

    CONVERT(input_value, data_type)
    

    上記の関数では、リテラルまたは列名としてinput_valueを指定し、このデータを変換するdata_typeを指定する必要があります。 MySQL CASTと同様に、データをBINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNEDのデータ型にキャストできます。

    たとえば、リテラル値を別のデータ型に変換する方法は次のとおりです

    CONVERT(1, char)
    

    列(IDなど)を別のデータ型に変換する方法は次のとおりです

    CONVERT(id, char)
    

    文字セットを変換するためのMySQLCONVERT構文は次のとおりです

    CONVERT(input_value USING character_set)
    

    上記の関数では、リテラル文字列または列名としてinput_valueを指定し、このデータを変換するcharacter_setを指定する必要があります。

    latin1としてキャストする方法の例を次に示します

    convert('test string' using 'latin1')
    

    ボーナスリード:MySQLロールアップの使用方法

    サポートされているデータ型

    MySQLCASTとMySQLCONVERTはどちらも、BINARY、CHAR、DATE、DATETIME、TIME、DECIMAL、SIGNED、UNSIGNEDデータ型へのデータ変換のみをサポートしています。他のデータ型はサポートされていません。

    ANSISQL仕様

    MySQLCASTはANSISQL仕様の一部ですが、MySQLCONVERTはANSISQL仕様の一部ではありません。

    前述のように、MySQLCASTとMySQLCONVERTは類似しており、ほとんどの場合、互換的に使用できます。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. すべてのクエリをmysqlに記録します

    2. PostgreSQL:コマンドラインからパラメータを渡す方法は?

    3. MySQLでのLOWER()関数のしくみ

    4. Golangで*DB.exec()またはプリペアドステートメントを使用するのはなぜですか?