ホームページ  >  記事  >  データベース  >  SQL での日付と文字列間の変換操作の例

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

WBOY
WBOY転載
2022-11-03 17:44:316209ブラウズ

この記事では、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 サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。