MySQLの変数と関数.1
へんすう
変数を指定した場合、問題は発生しません.
ただし、LIMITに変数を入力して書き込むことはできません.
PREPAREは可変の文要素の位置にありますか?ドリル穴を使用して、位置を塗りつぶすように作成します.
PREPARE構文名
FROM「実際のクエリ文」
このように宣言する.
EXECUTE構文名USING伝達変数;
このように呼び出します.
MyQuery構文を実行すると、Employeesテーブルのemp noとfirst name列に@MyVal 5(=3)個が出力されます.
MySQLのデータフォーマットとフォーマット変換
MySQLのデータフォーマットとフォーマットのコピーを見てみましょう.
データ変換にはCAST()やCONVERT()などの関数を使用します.この2つの関数にはほとんど違いがありません.
CAST(実行文を代替材料とする);
CONVERT(実行文;置換材料);
このように文法を守る.
実数(double)SELECTでavg(hire date)を用いた.
日付に変換
私たちは複数の数字を日付に変換します.
すべて2022年02月18日まで出力
まだあります.
MySQLではnow()を使用して現在時刻を表示できます.
現在の時間は秒単位で表示されます.
暗黙的な変換(自動変換)
計算結果を「100」または「100200」に変更する場合は、CONCATを使用します.
concat(資料1、資料2);
上記の文法を守る.
0=false、1=trueで出力します.
文字の先頭に数字が含まれている場合は、最初の文字を数値に変換して計算します.
文字のみの場合は0に変換されます.
CASE
CASEの動作はJAVAのSWITCH CASE文に似ています.入力内容に一致する部分があれば、THENの後の構文を出力します.
一致するデータがない場合はELSEを終了します.
CASE~WHEN~ELSE~END
順守の順序.
文字列関数は、文字列を処理するためのアクティブな関数です.
ASCII(文字)、CHAR(数字)
儀式を守る.
文字を数値に変換し、数値を文字に変換します.
ただし、workbernchの問題で、すべての文字がBLOBに出力されます.
正常な結果を表示したい場合
BLOBのOpenValue in viewer->textタブを選択します.
SET @MyVar1 = 1;
SET @MyVar2 = 2;
SET @MyVar3 = 3.1234;
SET @MyVar4 = '변수입니다. =>';
SET@変数名=値;変数を指定できます.SELECT @MyVar4 + @MyVar1 + @MyVar2 + @MyVar3;
変数を指定した場合、問題は発生しません.
ただし、LIMITに変数を入力して書き込むことはできません.
SELECT * FROM userTbl limit @MyVar1; # 틀린 쿼리문
SELECT * FROM userTbl limit 1;
PREPAREPREPAREは可変の文要素の位置にありますか?ドリル穴を使用して、位置を塗りつぶすように作成します.
PREPARE構文名
FROM「実際のクエリ文」
このように宣言する.
EXECUTE構文名USING伝達変数;
このように呼び出します.
SET @MyVar5 = 3 ;
私はMyVal 5に3を保存しました.PREPARE myQuery
FROM 'SELECT emp_no, first_name FROM employees limit ?';
FROMの後にemployeesテーブルのemp no、first nameを呼び出しますか?パラメータは次のように宣言されています.EXECUTE myQuery USING @MyVar5;
MyQuery構文を実行すると、Employeesテーブルのemp noとfirst name列に@MyVal 5(=3)個が出力されます.
MySQLのデータフォーマットとフォーマット変換
MySQLのデータフォーマットとフォーマットのコピーを見てみましょう.
データ変換にはCAST()やCONVERT()などの関数を使用します.この2つの関数にはほとんど違いがありません.
CAST(実行文を代替材料とする);
CONVERT(実行文;置換材料);
このように文法を守る.
SELECT avg(hire_date) FROM employees;
実数(double)SELECTでavg(hire date)を用いた.
SELECT CAST(avg(hire_date) AS SIGNED INTEGER) AS '평균 입사일' FROM employees;
CAST文を使用して、上記の結果値を整数(INTEGER)に置き換えます.SELECT CONVERT(avg(hire_date), SIGNED INTEGER) as '평균 입사일' FROM employees;
コンサートの結果も同じです.日付に変換
私たちは複数の数字を日付に変換します.
SELECT CAST('2022$02$18' as DATE);
SELECT CAST('2022$02$18' as DATE);
SELECT CAST('2022&02&18' as DATE);
SELECT CAST('2022#02#18' as DATE);
SELECT CAST('2022@02@18' as DATE);
SELECT CAST('2022.02.18' as DATE);
すべて2022年02月18日まで出力
まだあります.
MySQLではnow()を使用して現在時刻を表示できます.
SELECT now();
現在の時間は秒単位で表示されます.
暗黙的な変換(自動変換)
SELECT '100' + 200; # 300
JAVAではできないことになり始めたMySQLでは、アルファベットと数字の間で演算を許可します.SELECT '100' + '200'; # 300
文字+文字も、数値文字を多面に変換することで計算されます.SELECT '가나다'+ 100; # 100
数値に変換できない文字と整数が追加されました.文字は0に変換され、整数のみが計算され、結果は100になります.計算結果を「100」または「100200」に変更する場合は、CONCATを使用します.
concat(資料1、資料2);
上記の文法を守る.
SELECT concat('100', '200'); #100200
SELECT concat('가나다', 100); #가나다100
これらはすべて文字列出力に変換されます.SELECT 3 > '1HELLO'; # 1
SELECT 3 > '4HELLO'; # 0
SELECT 3 > 'HELLO'; # 1
SQLにはブールデータ型がありません.0=false、1=trueで出力します.
文字の先頭に数字が含まれている場合は、最初の文字を数値に変換して計算します.
文字のみの場合は0に変換されます.
CASE
CASEの動作はJAVAのSWITCH CASE文に似ています.入力内容に一致する部分があれば、THENの後の構文を出力します.
一致するデータがない場合はELSEを終了します.
CASE~WHEN~ELSE~END
順守の順序.
SELECT
CASE 5
WHEN 1 THEN '일'
WHEN 5 THEN '오'
WHEN 10 THEN '십'
ELSE '모름'
END as '결과';
文字列関数文字列関数は、文字列を処理するためのアクティブな関数です.
ASCII(文字)、CHAR(数字)
儀式を守る.
文字を数値に変換し、数値を文字に変換します.
ただし、workbernchの問題で、すべての文字がBLOBに出力されます.
正常な結果を表示したい場合
BLOBのOpenValue in viewer->textタブを選択します.
SELECT ASCII('B'); # 66
SELECT CHAR(98); # BLOB -> b
Reference
この問題について(MySQLの変数と関数.1), 我々は、より多くの情報をここで見つけました https://velog.io/@nugoory20/MySQL의-변수와-함수들.1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol