SQL での日付と文字列間の変換操作の例

WBOY
リリース: 2022-11-03 20:39:40
転載
6204 人が閲覧しました

この記事では、SQL に関する知識を提供する記事として、日付と文字列の変換演算に関する内容を中心に紹介していますので、一緒に見ていきましょう。

SQL での日付と文字列間の変換操作の例

推奨学習: 「SQL チュートリアル

1. Oracle の日付と文字列を相互に変換する

1.1 日付から文字String

##1.1.1 yyyy年mm月dd日hh24時mi分ss秒

手動スプライシング年月日

select
      to_char(sysdate, 'yyyy') || '年' 
   || to_char(sysdate, 'mm') || '月' 
   || to_char(sysdate, 'dd') || '日'
   || ' '
   || to_char(sysdate, 'hh24') || '時' 
   || to_char(sysdate, 'mi') || '分' 
   || to_char(sysdate, 'ss') || '秒' 
from
  dual
ログイン後にコピー
結果


2021年9月08日

#1.1.2 yyyy-mm -dd hh24: mi:ss

日付から 0 を削除せず、24 時間形式で表示します

select
  to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') 
from
  dual
ログイン後にコピー
Result


2021-09-08 11:12:02

##1.1.3 yyyyfm-mm-dd hh24:mi:ss

日付は 0 を削除し、24 時間形式で表示します

select
  to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss') 
from
  dual
ログイン後にコピー

結果


##2021-9-8 11:21:55

1.1.4 yyyy/mm/dd

年、月、日のみを表示し、区切り文字あり

select
  to_char(sysdate, 'yyyy/mm/dd') 
from
  dual
ログイン後にコピー

結果


2021/09/08

1.1.5 yyyymmdd

年のみを表示します。区切り文字なしの月と日

select
  to_char(sysdate, 'yyyymmdd') 
from
  dual
ログイン後にコピー

Result


20210908

1.2 文字列を日付に変換します

to_date('date', 'format') 関数を使用します。特定の形式は to_char() の形式と同じです。

select
  to_date('20210908', 'yyyymmdd') 
from
  dual
ログイン後にコピー

Result

2021/09/08 0:00:00

select
  to_date('2021-9-8 11:21:55', 'yyyyfm-mm-dd hh24:mi:ss') 
from
  dual
ログイン後にコピー

結果


2021/09/08 11:21:55

二. SqlServer の日付と文字列の変換

##2.1 日付から文字列へ

##2.1.1 yyyy/mm/dd
SELECT
  CONVERT(varchar (100), GETDATE(), 111)
ログイン後にコピー

結果

2021/09/08

##2.1.2 yyyy-mm-dd

SELECT
  CONVERT(varchar (100), GETDATE(), 23)
ログイン後にコピー

結果

2021-09-08


##2.1.3 yyyymmdd

SELECT
  CONVERT(varchar (100), GETDATE(), 112)
ログイン後にコピー

結果

20210908


2.1.4 yyyy-mm-dd hh:mm:ss

SELECT
  CONVERT(varchar (100), GETDATE(), 120)
ログイン後にコピー

結果

2021-09-08 12:30:33


2.1.5 yyyy mm月 dd日

select
    CONVERT(varchar, DATEPART(yy, GETDATE())) + '年' 
  + CONVERT(varchar, DATEPART(mm, GETDATE())) + '月' 
  + CONVERT(varchar, DATEPART(dd, GETDATE())) + '日'
ログイン後にコピー

結果

2021 年 9 月 8 日


2.2 文字列を日付に変換する

CAST('文字列の日付' を 'データ型 - 通常は日付または datetime')

文字列日付が有効な日付ではない場合、エラーが報告されます

TRY_CAST('String date' as 'Data type - 通常 date または datetime' )

文字列日付を日付型に変換してみます。変換が失敗した場合は、

NULL

SELECT
  CAST('20200908' as datetime)
ログイン後にコピー

result

## が返されます。 2020/09/08 0:00:00

SELECT
  CAST('20200908' as date)
ログイン後にコピー

結果


2020/09/08

SELECT 
  TRY_CAST('2021-09-08' as datetime)
ログイン後にコピー
結果


#2021/09/08 0:00:00
#
SELECT 
  TRY_CAST('2021/09/08 11:21:55' as datetime)
ログイン後にコピー
#結果

##2021/09/08 11 :21:55


3. Mysql の日付と文字列の変換

参考: MySQL の日付と時刻の型と形式


#3.1 日付を文字列に変換する

DATE_FORMAT( ) 関数

3.1.1 yyyy 年 mm 月 dd 日 hh 時 ii 分 ss 秒
SELECT
	DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒' );
ログイン後にコピー

結果

##2021-09-08 21:04:59

3.1.2 yyyy-mm -dd hh:ii:ss

SELECT
	DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
ログイン後にコピー
3.2 文字列を日付に変換

STR_TO_DATE 関数

SELECT
	STR_TO_DATE('2019年01月17日 19时05分05秒', '%Y年%m月%d日 %H时%i分%s秒');
ログイン後にコピー
Result

2019 -01-17 19:05:05

推奨学習: 「

SQL チュートリアル

以上がSQL での日付と文字列間の変換操作の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
sql
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート