tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

SQL関数

PDF
Focus Mode
Font Size
Last updated: 2024-06-26 10:57:13

集計関数

COS Selectは次の集計関数をサポートしています。
関数名
パラメータタイプ
リターンタイプ
AVG(expression)
INT、FLOAT、DECIMAL
入力パラメータが整数型の場合はDECIMALを返し、入力パラメータが浮動小数点型の場合はFLOATを返し、その他の場合の戻り値は入力パラメータと一致
COUNT
-
INT
MAX(expression)
INT、DECIMAL
戻り値は入力パラメータと一致
MIN(expression)
INT、DECIMAL
戻り値は入力パラメータと一致
SUM(expression)
INT、FLOAT、DOUBLE、DECIMAL
入力パラメータが整数型の場合はINTを返し、入力パラメータが浮動小数点型の場合はFLOATを返し、その他の場合の戻り値は入力パラメータと一致

条件関数

COS Selectは次の条件関数をサポートしています。

COALESCE

COALESCE関数は入力されたパラメータを順序に従って判断し、空ではない最初のパラメータ値を返します。入力パラメータに空ではないパラメータが含まれない場合は、関数がnull値を返します。

構文

COALESCE ( expression, expression, ... )
説明:
expressionパラメータはINT、String、Floatタイプの数値、配列またはネスト関数を渡すことができます。

事例

COALESCE(1) -- 1
COALESCE(1, null) -- 1
COALESCE(null, null, 1) -- 1
COALESCE(missing, 1) -- 1
COALESCE(null, 'string') -- 'string'
COALESCE(null) -- null
COALESCE(null, null) -- null
COALESCE(missing) -- null
COALESCE(missing, missing) -- null

NULLIF

NULLIF関数は渡された2つのパラメータ間の差異を判断し、2つの入力パラメータが同一の値であればNULLを返し、異なっていれば最初の入力パラメータの値を返します。

構文

NULLIF ( expression1, expression2 )
説明:
expressionパラメータはINT、String、Floatタイプの数値、配列またはネスト関数を渡すことができます。

事例

NULLIF(1, 2) -- 1
NULLIF(1, '1') -- 1
NULLIF(1, NULL) -- 1
NULLIF(1, 1) -- null
NULLIF(1.0, 1) -- null
NULLIF(missing, null) -- null
NULLIF(missing, missing) -- null
NULLIF([1], [1]) -- null
NULLIF(NULL, 1) -- null
NULLIF(null, null) -- null

変換関数

COS Selectは次の変換関数をサポートしています。

CAST

CAST関数はある種類のインスタンスを別の種類のインスタンスに変換することができます。このインスタンスは数値でも、計算によってある確定した数値が出せる関数でも構いません。

構文

CAST ( expression AS data_type )
説明:
expressionパラメータは数値、配列、演算子または計算によって、ある確定した数値が出せるSQL関数とすることができます。
data_typeパラメータは例えばINTタイプのような、変換後のデータタイプです。現在COS Selectがサポートしているデータタイプについては、データタイプをご参照ください。

事例

CAST('2007-04-05T14:30Z' AS TIMESTAMP)
CAST(0.456 AS FLOAT)

日付関数

COS Selectは次の日付関数をサポートしています。

DATE_ADD

DATE_ADD関数は指定のタイムスタンプのある部分(年、月、日、時、分、秒)に指定された時間間隔を加え、新しいタイムスタンプを返すことができます。

構文

DATE_ADD( date_part, quantity, timestamp )
説明:
date_partパラメータはタイムスタンプの中の変更したい部分を指定します。年、月、日、時、分、秒とすることができます。
quantityパラメータは増分したい数値を表します。正の整数でなければなりません。
timestampパラメータは変更したいタイムスタンプです。

事例

DATE_ADD(year, 5, `2010-01-01T`) -- 2015-01-01
DATE_ADD(month, 1, `2010T`) -- 2010-02T
DATE_ADD(month, 13, `2010T`) -- 2011-02T
DATE_ADD(hour, 1, `2017T`) -- 2017-01-01T01:00-00:00
DATE_ADD(hour, 1, `2017-01-02T03:04Z`) -- 2017-01-02T04:04Z
DATE_ADD(minute, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:05:05.006Z
DATE_ADD(second, 1, `2017-01-02T03:04:05.006Z`) -- 2017-01-02T03:04:06.006Z

DATE_DIFF

DATE_DIFF関数は2つの有効なタイムスタンプを比較し、2つのタイムスタンプの差を返します。この差は指定された時間単位で表示することができます。 timestamp1のdate_part値がtimestamp2より大きい場合は、戻り値は正の値となります。逆の場合は負の値を返します。

構文

DATE_DIFF( date_part, timestamp1, timestamp2 )
説明:
date_partパラメータは2つのタイムスタンプを比較する時間単位を指定します。年、月、日、時、分、秒とすることができます。
timestamp1パラメータは最初に入力されたタイムスタンプです。
timestamp2パラメータは2番目に入力されたタイムスタンプです。

事例

DATE_DIFF(year, `2010-01-01T`, `2011-01-01T`) -- 1
DATE_DIFF(year, `2010T`, `2010-05T`) -- 4
DATE_DIFF(month, `2010T`, `2011T`) -- 12
DATE_DIFF(month, `2011T`, `2010T`) -- -12
DATE_DIFF(day, `2010-01-01T23:00T`, `2010-01-02T01:00T`) -- 0

EXTRACT

EXTRACT関数は、指定されたタイムスタンプから指定された時間単位の数値を抽出します。

構文

EXTRACT( date_part FROM timestamp )
説明:
date_partパラメータは抽出したい時間単位を指定します。年、月、日、時、分、秒とすることができます。
timestampパラメータは入力されたタイムスタンプです。

事例

EXTRACT(YEAR FROM `2010-01-01T`) -- 2010
EXTRACT(MONTH FROM `2010T`) -- 1
EXTRACT(MONTH FROM `2010-10T`) -- 10
EXTRACT(HOUR FROM `2017-01-02T03:04:05+07:08`) -- 3
EXTRACT(MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 4
EXTRACT(TIMEZONE_HOUR FROM `2017-01-02T03:04:05+07:08`) -- 7
EXTRACT(TIMEZONE_MINUTE FROM `2017-01-02T03:04:05+07:08`) -- 8

TO_STRING

TO_STRING関数は、タイムスタンプを指定されたフォーマットの時間文字列に変換することができます。

構文

TO_STRING ( timestamp time_format_pattern )
説明:
timestampパラメータは変換したいタイムスタンプを指定します。
time_format_patternパラメータは変換する時間のフォーマットを指定します。
フォーマット
説明
yy
2桁の年
98
y
4桁の年
1998
yyyy
固定された4桁の年。桁数に満たない場合はゼロ埋め
0199
M
1
MM
固定された2桁の月。桁数に満たない場合はゼロ埋め
01
MMM
月の英略称
Jan
MMMM
月の英文正式名称
January
MMMMM
月の最初のアルファベットの略称
J(to_timestamp関数には適用しない)
d
1か月のうちのある1日(1~31)
1
dd
固定された2桁の日(1~31)
01
a
午前午後の指標(AM/PM)
AM
h
時間。12時間制
1
hh
固定された2桁の時刻。12時間制
01
H
時間。24時間制
1
HH
固定された2桁の時刻。24時間制
01
m
分(00~59)
1
mm
固定された2桁の分。24時間制
01
s
秒(00~59)
1
ss
固定された2桁の時刻。24時間制
01
S
秒の小数部分(精度0.1、範囲0.0~0.9)
0
SS
秒の小数部分(精度0.01、範囲0.00~0.99)
6
SSS
秒の小数部分(精度0.001、範囲0.000~0.999)
60
...
...
...
SSSSSSSSS
秒の小数部分(精度0.000000001,範囲0.000000000~0.999999999)
60000000
n
ナノ秒
60000000
X
時間単位のオフセット。オフセットが0の場合は「Z」
+01またはZ
XXまたはXXXX
時間または分単位のオフセット。オフセットが0の場合は「Z」
+0100またはZ
xxxまたはxxxxx
時間または分単位のオフセット。オフセットが0の場合は「Z」
+01:00またはZ
x
時間単位のオフセット
1
xxまたはxxxx
時間または分単位のオフセット
0100
xxxまたはxxxxx
時間または分単位のオフセット
01:00

事例

TO_STRING(`1998-07-20T20:18Z`, 'MMMM d, y') -- "July 20, 1998"
TO_STRING(`1998-07-20T20:18Z`, 'MMM d, yyyy') -- "Jul 20, 1998"
TO_STRING(`1998-07-20T20:18Z`, 'M-d-yy') -- "7-20-69"
TO_STRING(`1998-07-20T20:18Z`, 'MM-d-y') -- "07-20-1998"
TO_STRING(`1998-07-20T20:18Z`, 'MMMM d, y h:m a') -- "July 20, 1998 8:18 PM"
TO_STRING(`1998-07-20T20:18Z`, 'y-MM-dd''T''H:m:ssX') -- "1998-07-20T20:18:00Z"
TO_STRING(`1998-07-20T20:18+08:00Z`, 'y-MM-dd''T''H:m:ssX') -- "1998-07-20T20:18:00Z"
TO_STRING(`1998-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXX') -- "1998-07-20T20:18:00+0800"
TO_STRING(`1998-07-20T20:18+08:00`, 'y-MM-dd''T''H:m:ssXXXXX') -- "1998-07-20T20:18:00+08:00"

TO_TIMESTAMP

TO_TIMESTAMP関数は時間文字列をタイムスタンプに変換することができます。

構文

TO_TIMESTAMP ( string )
説明:
stringパラメータは入力された時間文字列です。

事例

TO_TIMESTAMP('2007T') -- `2007T`
TO_TIMESTAMP('2007-02-23T12:14:33.079-08:00') -- `2007-02-23T12:14:33.079-08:00`

UTCNOW

UTCNOW関数はUTCの現在時刻をタイムスタンプとして返すことができます。

構文

UTCNOW()

事例

UTCNOW() -- 2019-01-01T14:23:12.123Z

文字列関数

COS Selectは次の文字列関数をサポートしています。

CHAR_LENGTH, CHARACTER_LENGTH

CHAR_LENGTHおよびCHARACTER_LENGTHはいずれも文字列内の文字数を計算することができます。この2つの関数は同一のものです。

構文

CHAR_LENGTH ( string )
説明:
stringパラメータは文字数を計算したい文字列を指定します。

事例

CHAR_LENGTH('null') -- 4
CHAR_LENGTH('tencent') -- 7

LOWER

LOWER関数は指定された文字列内のすべての大文字アルファベットを小文字アルファベットに変換することができます。大文字アルファベット以外はすべてそのまま維持されます。

構文

LOWER ( string )
説明:
stringパラメータは大文字アルファベットを小文字アルファベットに変換したい文字列を指定します。

事例

LOWER('TENcent') -- 'tencent'

SUBSTRING

SUBSTRING関数はある文字列の部分文字列を返すことができます。あるインデックスを指定すると、SUBSTRING関数はそのインデックスから開始し、指定された部分文字列の長さに従って元の文字列から残りの内容を切り取り、結果を返します。
説明:
入力された文字列が1文字のみであり、かつインデックスの設定が1より大きい場合、SUBSTRING関数は自動的に1に切り替えます。

構文

SUBSTRING( string FROM start [ FOR length ] )
説明:
stringパラメータは部分文字列を切り取りたい文字列を指定します。
startパラメータは文字列のあるインデックス値であり、切り取る位置を指定します。
lengthパラメータは部分文字列の長さを指定します。特に指定されない場合は、文字列の残りのすべての内容を切り取ります。

事例

SUBSTRING("123456789", 0) -- "123456789"
SUBSTRING("123456789", 1) -- "123456789"
SUBSTRING("123456789", 2) -- "23456789"
SUBSTRING("123456789", -4) -- "123456789"
SUBSTRING("123456789", 0, 999) -- "123456789"
SUBSTRING("123456789", 1, 5) -- "12345"

TRIM

TRIM関数は指定された文字列の先頭の文字の前または末尾の文字の後の全ての文字を削除することができます。デフォルトの削除文字は「 」です。

構文

TRIM ( [[LEADING | TRAILING | BOTH remove_chars] FROM] string )
説明:
stringパラメータは操作したい文字列を指定します。
LEADING | TRAILING | BOTHパラメータは文字列の前(LEADING)または文字列の後(TRAILING)またはその両方(BOTH)の削除したい余分な文字を指定します。
remove_charsパラメータはどの種類の余分な文字を削除したいかを指定します。remove_charsパラメータは長さが1文字より長い文字列とすることができます。TRIM関数はstringパラメータの前後でこれにマッチする余分な文字列を発見すると、そのすべてに削除処理を行います。

事例

TRIM(' foobar ') -- 'foobar'
TRIM(' \\tfoobar\\t ') -- '\\tfoobar\\t'
TRIM(LEADING FROM ' foobar ') -- 'foobar'
TRIM(TRAILING FROM ' foobar ') -- 'foobar'
TRIM(BOTH FROM ' foobar ') -- 'foobar'
TRIM(BOTH '12' FROM '1112211foobar22211122') -- 'foobar'

UPPER

UPPER関数はすべての小文字を大文字に変換することができます。小文字以外の文字は変更されません。

構文

UPPER ( string )
説明:
stringパラメータは大文字に変換したい文字列を指定します。

事例

UPPER('tenCENT') -- 'TENCENT'

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback