数据库中substring的使用方法CONVERT(varchar(12),getdate(),112
Sqlserver 中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvertDateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助. 将sqlserver中table表的[datetime]字段值2007-11-0716:41:
Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvertDateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助.
将sqlserver中table表的[datetime]字段值‘2007-11-0716:41:35.033’ 改为‘2007-11-0700:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET[datetime]= Convert(char(11),[datetime],120)
1、获取当前日期利用 convert 来转换成我们需要的datetime格式. 貌似 oracle的 PLSQl中不能直接用呀。。。只适应与 sql server 之类的数据库???
select CONVERT(varchar(12) , getdate(), 112 ) 类似oracle 中的 to_char(xsdate,'yyyymm')
20040912
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1
------------------------------------------------------------
select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
------------------------------------------------------------
declare @dateTime DateTime--定义一个datetime的变量
set @dateTime=getdate(); --获取系统当前时间,并赋值给@dateTime字段
--短日期格式:yyyy-m-d
SELECTREPLACE(CONVERT(varchar(10),@dateTime,120),N'-0','-')
--长日期格式:yyyy年mm月dd日
SELECTSTUFF(STUFF(CONVERT(char(8),@dateTime,112),5,0,N'年'),8,0,N'月')+N'日'
--长日期格式:yyyy年m月d日
SELECT DATENAME(Year,@dateTime)+N'年'+CAST(DATEPART(Month,@dateTime)AS varchar)+N'月'+DATENAME(Day,@dateTime)+N'日'
--完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECTCONVERT(char(11),@dateTime,120)+CONVERT(char(12),@dateTime,114)
------------------------------------------------------------------------------------------------
2、substring ,该函数用来求一个字符串的字串,该函数的使用频率很高。也不是oracle中的用法
示例字符串:”2011-11-17”
在Oracle中求字符串的函数为:substr
The syntax for the substr function is:
substr( string, start_position, [ length ] )
string:源字符串
start_position:子串第一个字符在源字符串中的起始位置
length:子串长度
测试结果:
1.
substr('2011-11-17',0,7)
2011-11
2.
substr('2011-11-17',1,7)
2011-11
3.
substr('2011-11-17',1,10)
2011-11-17
4.
substr('2011-11-17',1,11)
2011-11-17
5.
substr('2011-11-17',-1,7)
7
6.
substr('2011-11-17',-8,8)
11-11-17
7.
substr('2011-11-17',-10,7)
2011-11
8.
substr('2011-11-17',-11,7)
null
9.
substr('2011-11-17',-11)
null
10.
substr('2011-11-17',-1)
7
11.
substr('2011-11-17',6)
11-17
12.
substr('2011-11-17',11)
null
13.
substr (‘2011-11-17’,1,null)
null
14.
substr (‘2011-11-17’,null,1)
null
15.
substr (‘2011-11-17’,null,null)
null
16.
substr ('2011-11-17',1,0)
null
17.
substr ('2011-11-17',1,-1)
null
18.
substr ('2011-11-17',11,11)
null
Oracle中规定:
1) start_position==0时,子串的起始位置为1,即从第一个字符开始;
2) start_position
3) length参数可以缺省
3、日期推算处理
1):取得当前日期是本月的第几周
SQL> select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'YY ------------------- 20030327 4 18:16:09 SQL> select to_char(sysdate,'W') from dual; T - 4 |
2:取得当前日期是一个星期中的第几天,注意星期日是第一天
SQL> select sysdate,to_char(sysdate,'D') from dual; SYSDATE T --------- - 27-MAR-03 5 |
类似:
select to_char(sysdate,'yyyy') from dual; --年 select to_char(sysdate,'Q' from dual; --季 select to_char(sysdate,'mm') from dual; --月 select to_char(sysdate,'dd') from dual; --日 ddd 年中的第几天 WW 年中的第几个星期 W 该月中第几个星期 D 周中的星期几 hh 小时(12) hh24 小时(24) Mi 分 ss 秒 |
3:取当前日期是星期几中文显示:
SQL> select to_char(sysdate,'day') from dual; TO_CHAR(SYSDATE,'DAY') ---------------------- 星期四 |
4:如果一个表在一个date类型的字段上面建立了索引,如何使用
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' |
5: 得到当前的日期
select sysdate from dual; |
6: 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual; -- 得到这天的最后一秒 select trunc(sysdate) + 0.99999 from dual; -- 得到小时的具体数值 select trunc(sysdate) + 1/24 from dual; select trunc(sysdate) + 7/24 from dual; |
7.得到明天凌晨0点0分0秒的日期
select trunc(sysdate+1) from dual; select trunc(sysdate)+1 from dual; |
8: 本月一日的日期
select trunc(sysdate,'mm') from dual; |
9:得到下月一日的日期
select trunc(add_months(sysdate,1),'mm') from dual; |
10:返回当前月的最后一天?
select last_day(sysdate) from dual; select last_day(trunc(sysdate)) from dual; select trunc(last_day(sysdate)) from dual; select trunc(add_months(sysdate,1),'mm') - 1 from dual; |
11: 得到一年的每一天
select trunc(sysdate,'yyyy')+ rn -1 date0 from (select rownum rn from all_objects where rownum |
12:今天是今年的第N天
SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL; |
13:如何在给现有的日期加上2年
select add_months(sysdate,24) from dual; |
14:判断某一日子所在年分是否为润年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual; |
15:判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual; |
16):得到日期的季度
select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;
select to_char(sysdate, 'Q') from dual;
四)其余时间处理方法:
DECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1.指定日期该年的第一天或最后一天
--A. 年的第一天
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. 年的最后一天
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2.指定日期所在季度的第一天或最后一天
--A. 季度的第一天
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt)-2,
@dt),
120)+'1')
--B. 季度的最后一天(CASE判断法)
SELECT CONVERT(datetime,
CONVERT(char(8),
DATEADD(Month,
DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)
+CASE WHEN DATEPART(Quarter,@dt) in(1,4)
THEN '31'ELSE '30' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-1,
CONVERT(char(8),
DATEADD(Month,
1+DATEPART(Quarter,@dt)*3-Month(@dt),
@dt),
120)+'1')
--3.指定日期所在月份的第一天或最后一天
--A. 月的第一天
SELECTCONVERT(datetime,CONVERT(char(8),@dt,120)+'1')
--B. 月的最后一天
SELECTDATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
--C. 月的最后一天(容易使用的错误方法)
SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))
--4.指定日期所在周的任意一天
SELECTDATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)
--5.指定日期所在周的任意星期几
--A. 星期天做为一周的第1天
SELECTDATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
--B. 星期一做为一周的第1天
SELECTDATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Melalui pakej pangkalan data/sql perpustakaan standard Go, anda boleh menyambung ke pangkalan data jauh seperti MySQL, PostgreSQL atau SQLite: buat rentetan sambungan yang mengandungi maklumat sambungan pangkalan data. Gunakan fungsi sql.Open() untuk membuka sambungan pangkalan data. Lakukan operasi pangkalan data seperti pertanyaan SQL dan operasi sisipan. Gunakan tangguh untuk menutup sambungan pangkalan data untuk mengeluarkan sumber.

Menggunakan fungsi panggil balik pangkalan data di Golang boleh mencapai: melaksanakan kod tersuai selepas operasi pangkalan data yang ditentukan selesai. Tambah tingkah laku tersuai melalui fungsi berasingan tanpa menulis kod tambahan. Fungsi panggil balik tersedia untuk operasi memasukkan, mengemas kini, memadam dan pertanyaan. Anda mesti menggunakan fungsi sql.Exec, sql.QueryRow atau sql.Query untuk menggunakan fungsi panggil balik.
