SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL Serverのリテラル(定数)とは?種類別の使い方をわかりやすく解説

この記事では、SQL Serverにおけるリテラル(定数)——文字列、整数、小数、日付時刻の各値——の基本的な概念と実際の使い方について、詳しく解説していきます。

リテラル(定数)とは

SQL Serverにおいて、リテラルとはプログラムから変更できない固定値のことを指します。リテラルにはさまざまな型の値を使用でき、大きく分けて「文字列定数」「整数定数」「実数定数」「日付時刻定数」の4種類があります。

文字列リテラル

文字列リテラルは、必ず単一引用符(シングルクォート ' )で囲む必要があります。

'quantrimang.com'
'ABC'
'123'

上記の例では、それぞれの単一引用符のペアで独立した文字列を表しています。しかし、文字列の中にアポストロフィ(')が含まれるケースには注意が必要です。次の例を見てみましょう。

'quantrimang.com is very great! It's my favorite site!'

この例では、「It's」という単語の中にアポストロフィが含まれています。この引用符によって、SQL Serverは以下のように文字列が途中で区切られていると判断してしまい、構文エラーとなります。

'quantrimang.com is very great! It'

このようなエラーを回避するには、アポストロフィを単一引用符を重ねることでエスケープします。

'quantrimang.com is very great! It''s my favorite site!'

つまり、文字列内に単一引用符を表示したい場合は「''」と2つ続けて記述するのがSQL Serverでの基本ルールです。

整数リテラル(整数定数)

整数定数には、正の整数と負の整数が含まれ、小数点以下の数値は含まれません。符号を明示的に指定しなかった場合は、その定数は自動的に正の数として扱われます。有効な整数定数の表記例は以下の通りです。

2018
+2018
-2018

小数リテラル(実数定数)

実数定数には、正の整数、負の整数に加えて、小数点を含む数値も含まれます。こちらも符号を指定しない場合は、デフォルトで正の数として扱われます。有効な実数定数の表記例は以下の通りです。

2018.11
+2018.11
-2018.11

なお、SQL Serverでは小数点としてピリオド(.)を使用します。カンマ(,)を使うと別の意味に解釈されるため注意してください。

日付時刻リテラル(Datetime定数)

日付時刻の定数は、必ず単一引用符で囲んで表現します。主な表記例は以下の通りです。

'November 06, 2018'
'2018/11/06'
'2018/11/06 12:24:48'

日付形式は複数のスタイルが存在しますが、システムの言語設定や地域設定によって解釈が異なる場合があるため、環境に応じた適切なフォーマットを選択することが重要です。

  1. 【SQL Server入門】ストアドプロシージャの作成と削除方法を徹底解説

    プロシージャ(Procedure)とは、データベース内に保存しておき、後から再利用できる複数のステートメントで構成されたプログラムのことです。SQL Serverでは、プロシージャにパラメータを渡すことが可能です。関数のように特定の値を返すわけではありませんが、実行の成功・失敗を示す役割を持ちます。 本記事では、SQL Serverにおけるプロシージャの作成方法と削除方法について、基本構文と具体例を交えながらわかりやすく解説します。 CREATE PROCEDURE(プロシージャの作成) 構文 SQL Serverでプロシージャを作成するには、以下の構文を使用します。 CREATE {

  2. MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説

    SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ