【ハウツー】
最後に、残りの文字列関数について見ていきましょう。
| 関数名 | 戻り値 | 説明 |
|---|---|---|
| LEN | 数値(入力値依存) | 文字数を返します |
| DATALENGTH | 数値(入力値依存) | 引数式に必要なバイト数を返します |
| ASCII | int | ASCIIコードを返します |
| CHAR | char(1) | ASCIIコード(0~255)を文字に変換します |
| UNICODE | int | 指定した文字に対応するUnicodeの整数コードを返します |
| NCHAR | nchar(1) | 整数コード(0~65535)からUnicode文字を返します |
| SOUNDEX | varchar | 発音の似た単語を見つけるために、英数字の文字列を4文字のコードに変換します |
| DIFFERENCE | int | 音の似た単語の類似度を0~4の数字で返します。4:類似性高、0:類似性低 |
| QUOTENAME | nvarchar(258) | SQL Server識別子を作成します |
文字列の長さを取得するには、LEN関数、DATALENGTH関数を使用します。LEN関数は引数の文字数を返します。行末の空白は除かれた状態でカウントされます。
DATALENGTH関数は引数のバイト数を返します。半角のアルファベット等は1バイト、全角の日本語等は2バイトとなります。
--文字長
SELECT LEN('123') /* → 3 (半角)*/
SELECT LEN('123 ') /* → 3 (行末の空白は無視)*/
SELECT LEN('あいう') /* → 3 (全角)*/
--数字桁数
SELECT LEN(123) /* → 3 (数値)*/
SELECT LEN(123.4) /* → 5 (数値)*/
--バイト長
SELECT DATALENGTH('123') /* → 3 */
SELECT DATALENGTH('あいう') /* → 6 */
SELECT DATALENGTH('あいう ') /* → 7 (行末の空白も対象)*/
ASCIIコードと文字を変換するには、ASCII関数、CHAR関数を使用します。CHAR関数はタブ文字や改行文字といった制御文字を出力する用途でも使用されます。 UNICODEと文字を変換するには、UNICODE関数、NCHAR関数を使用します。
--文字コード(ASCII)
SELECT ASCII('A') /* → 65 (文字からASCII)*/
SELECT CHAR(65) /* → A (ASCIIから文字)*/
SELECT CHAR(9) /* → タブ:TAB (制御文字) */
SELECT CHAR(10) /* → ラインフィード:LF (制御文字) */
SELECT CHAR(13) /* → キャリッジリターン:CR (制御文字) */
--文字コード(UNICODE)
SELECT UNICODE('青') /* → 38738 (文字からUNICODE)*/
SELECT NCHAR(38738) /* → 青 (UNICODEから文字)*/
文字列の発音の類似性を取得するには、SOUNDEX関数、DIFFERENCE関数を使用します。これらの関数の引数には英数字を指定できます。 SQL Serverの識別子を作成するには、QUOTENAME関数を利用できます。角かっこ以外にもシングルクォーテーション、ダブルクォーテーションを使って識別子を作成することもできます。
--文字列の発音を4文字コード化、類似性の評価
SELECT SOUNDEX('csharp')
/* → C413 */
SELECT SOUNDEX('jsharp')
/* → J413 */
SELECT DIFFERENCE('csharp','jsharp')
/* → 3 (類似性を4段階で評価。3:比較的類似)*/
--文字列を[と]でエスケープして取得
SELECT QUOTENAME('識別子を[]で囲む')
/* → [識別子を[]]で囲む] */
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
エヴァンゲリオンレーシング、今年も鈴鹿8耐出場! 1,000人分の応援席も [00:30 5/27] ライフ |
|
「ガンスリ」10周年で大王付録にヘンリエッタフィギュア [22:22 5/26] ホビー |
|
【特集】クライマックス突入記念! 『Fate/Zero』の舞台裏に迫る!! [22:00 5/26] ホビー |
|
竹宮ゆゆこ×カスカベアキラ「エバーグリーン」1巻刊行 [21:59 5/26] ホビー |
|
最もセクシーな男性「メン・オン・ファイア」21人をAARP誌が発表 [21:30 5/26] エンタメ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。